apache / apache/lucene

Should we add a "slow range query" to xxxPoint classes? [LUCENE-10580]

Open
#11,616 0 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major module:core/index type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

Users that index 2D point data have the option of running a range query with, 1) the points index (via `LongPoint#newRangeQuery`), or 2) a doc values field (via `SortedNumericDocValuesField#newSlowRangeQuery`). But if users are indexing points data in higher dimensions, there's no equivalent "slow" query that I'm aware of (relying on doc values). It's useful to have both and be able to wrap them in `IndexOrDocValuesQuery`.

I wonder if we should model a "point" doc value type (could just extend from `BinaryDocValuesField`) that supports creating "slow" range queries?

---
Migrated from [LUCENE-10580](https://issues.apache.org/jira/browse/LUCENE-10580) by Greg Miller (@gsmiller)

Contributor guide

Open the contributing guide

Research direction

Start by comparing LongPoint#newRangeQuery with SortedNumericDocValuesField#newSlowRangeQuery and reviewing how IndexOrDocValuesQuery combines them. Then examine the proposed point doc value type extending BinaryDocValuesField and the affected xxxPoint classes; the work is done when the supported higher-dimensional slow range-query design and its scope are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.