lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Atri Sharma (JIRA)" <>
Subject [jira] [Commented] (LUCENE-8769) Range Query Type With Logically Connected Ranges
Date Sun, 09 Jun 2019 10:15:01 GMT


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

{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

> Range Query Type With Logically Connected Ranges
> ------------------------------------------------
>                 Key: LUCENE-8769
>                 URL:
>             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

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

View raw message