[
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]