[
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]