: I'm now using date facetting to browse events. It works really fine
: and is really useful. The only problem so far is that if I have an
: event which is exactly on the boundary of two ranges, it is referenced
: 2 times.

yeah, this is one of the big caveats with date faceting right now ... i 
struggled with this a bit when designing it, and ultimately decided to 
punt on the issue.  the biggest hangup was that even if hte facet counting 
code was smart about making sure the ranges don't overlap, the range query 
syntax in the QueryParser doesn't support ranges that exclude one input 
(so there wouldn't be a lot you can do with the ranges once you know the 
counts in them)

one idea i had in SOLR-258 was that we could add an "interval" option that 
would define how much to add to the "end" or one range to get the "start" 
of another range (think of the current implementation having interval 
hardcoded to "0") which would solve the problem and work with range 
queries that were inclusive of both endpoints, but would require people to 
use "-1MILLI" a lot.

a better option (assuming a query parser change) would be a new option 
thta says wether each computed range should be enclusive of the low poin,t 
the high point, both end points, neither end points, or be "smart" (where 
smart is the same as "low" except for the last range where the it includes 
both)

(I think there's already a lucene issue to add the query parser support, i 
just haven't had time to look at it)

The simple workarround: if you know all of your data is indexed with 
perfect 0.000second precision, then put "-1MILLI" at the end of your start 
and end date faceting params.



-Hoss

Reply via email to