[jira] [Commented] (LUCENE-8708) Can we simplify conjunctions of range queries automatically?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (LUCENE-8708) Can we simplify conjunctions of range queries automatically?

JIRA jira@apache.org

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

Atri Sharma commented on LUCENE-8708:

[~ivera] Thanks, that makes sense. I have created an issue for the same: https://issues.apache.org/jira/browse/LUCENE-8769


However, I think that we should still optimize overlapping ranges as this issue proposes so that existing users also get the performance advantage.


[~jpountz] Any thoughts on how we could simplify the patch?

> Can we simplify conjunctions of range queries automatically?
> ------------------------------------------------------------
>                 Key: LUCENE-8708
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8708
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Adrien Grand
>            Priority: Minor
>         Attachments: interval_range_clauses_merging0704.patch
> BooleanQuery#rewrite already has some logic to make queries more efficient, such as deduplicating filters or rewriting boolean queries that wrap a single positive clause to that clause.
> It would be nice to also simplify conjunctions of range queries, so that eg. {{foo: [5 TO *] AND foo:[* TO 20]}} would be rewritten to {{foo:[5 TO 20]}}. When constructing queries manually or via the classic query parser, it feels unnecessary as this is something that the user can fix easily. However if you want to implement a query parser that only allows specifying one bound at once, such as Gmail ({{after:2018-12-31}} https://support.google.com/mail/answer/7190?hl=en) or GitHub ({{updated:>=2018-12-31}} https://help.github.com/en/articles/searching-issues-and-pull-requests#search-by-when-an-issue-or-pull-request-was-created-or-last-updated) then you might end up with inefficient queries if the end user specifies both an upper and a lower bound. It would be nice if we optimized those automatically.

This message was sent by Atlassian JIRA

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