[ 
https://issues.apache.org/jira/browse/LUCENE-5860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082107#comment-14082107
 ] 

Michael McCandless commented on LUCENE-5860:
--------------------------------------------

bq. For numeric trie terms the maximum and minimum values are not quite right 
(because of the additional shift!=0 terms)? As far as I remember, the min/max 
value is the found by binary search? Or is it now changed that min/max values 
come from the min/max shift=0 term? If thats the case I am fine, otherwise I 
think the binary search is more costly.

Hmm ... you are right: this is in fact doing a binary search for a numeric 
field (see NumericUtils), which is no good: the one disk seek we save is 
replaced by several!  So I agree: until we can pull the min/max for a numeric 
field w/o any disk seeks (which I think we should do), this is really not worth 
doing for numeric fields.

> Use Terms.getMin/Max to speed up range queries/filters
> ------------------------------------------------------
>
>                 Key: LUCENE-5860
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5860
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 5.0, 4.10
>
>         Attachments: LUCENE-5860.patch
>
>
> As of LUCENE-5610, Lucene's Terms API now exposes min and max terms in
> each field.  I think we can use this in our term/numeric range
> query/filters to avoid visiting a given segment by detecting up front
> that the terms in the segment don't overlap with the query's range.
> Even though block tree avoids disk seeks in certain cases when the
> term cannot exist on-disk, I think this change would further avoid
> disk seeks in additional cases because the min/max term has
> more/different information than the in-memory FST terms index.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to