[
https://issues.apache.org/jira/browse/LUCENE-5860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14481088#comment-14481088
]
Michael McCandless commented on LUCENE-5860:
--------------------------------------------
I opened LUCENE-6395 for the bug in MemoryIndex.
I don't think we should fix NumericRangeQuery here: the opto adds more cost
than it saves, and anyway apps should probably switch to straight up byte[]
encoding for numeric data and let auto-prefix do the range searching
efficiently.
With LUCENE-5879, TermRangeQuery now uses Terms.intersect, which should be
quite efficient with the default postings format (block tree) in skipping
segments whose terms are "out of bounds" for the automaton.
So net/net there's nothing else to do here...
> 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: 4.10, Trunk
>
> 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.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]