lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] [Commented] (LUCENE-5860) Use Terms.getMin/Max to speed up range queries/filters
Date Thu, 31 Jul 2014 18:15:39 GMT


Michael McCandless commented on LUCENE-5860:

I don't think there's that much added complexity here?

The changes to NRQ look biggish only because I factored out common code; I could dup the code
instead and the changes would look smaller ...

I think the possibility of saving disk seeks for the coldish case makes this a worthwhile
opto.  I'll probably have trouble showing the gains in the luceneutil benchmark ... I can
try forcing it to be cold (Robert wrote a cool tool for this!) but that's somewhat synthetic.

Net/net I still think we should commit both.

> Use Terms.getMin/Max to speed up range queries/filters
> ------------------------------------------------------
>                 Key: LUCENE-5860
>                 URL:
>             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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message