Adrien Grand created LUCENE-8708:
------------------------------------

             Summary: 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


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
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to