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

Atri Sharma commented on LUCENE-8769:
-------------------------------------

Here is a proposal for the said feature:

A new Binary query type which can accept a packed byte array which is arranged 
in the following manner:

{Range1, Range2,... RangeN}

Each range consists of [lowerByteValue, higherByteValue].

An array of logical operands (represented by a new enum, RangeLogicalOperand) 
shall be passed in, where each operand shall correspond to a "phrase" of ranges 
e.g. a valid representation can be (range1 AND range2) OR (range3 AND range4) 
NOT (range5)

The logical operands shall be of three types: AND, OR and NOT.

In this JIRA, the focus shall be to support ranges logically connected by AND 
connectors. I am planning to do OR and NOT in separate JIRAs since they require 
different semantics and crabbing them all in a single patch can lead to harder 
reviewing.

I am planning to do the bitset inversion that PointRangeQuery does in the new 
query type as well, since that seems like a reasonable optimization applicable 
in this scenario.

Unless any objections or points, I will post the first set of patches today. 
Happy to solicit feedback

> Range Query Type With Logically Connected Ranges
> ------------------------------------------------
>
>                 Key: LUCENE-8769
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8769
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Atri Sharma
>            Priority: Major
>
> Today, we visit BKD tree for each range specified for PointRangeQuery. It 
> would be good to have a range query type which can take multiple ranges 
> logically ANDed or ORed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to