apache / apache/lucene

RPT Within can skip allCellsIntersectQuery when no leafy branches are pruned [LUCENE-5774]

Open
#6,836 0 comments 0 reactions 0 assignees View on GitHub
affects-version:6.0 legacy-jira-priority:Minor module:spatial type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

When no leafy branches are pruned we need not call allCellsIntersectQuery since there is no sort of approximation and we need not descend to the full detail level to check for intersecting cells.

The filter should be modified to take a boolean to make this method work via simple intersects() call instead of recursive-descent.

---
Migrated from [LUCENE-5774](https://issues.apache.org/jira/browse/LUCENE-5774) by Varun V Shenoy, updated May 09 2016

Contributor guide

Open the contributing guide

Research direction

Start in the RPT Within filter implementation by locating allCellsIntersectQuery and the intersects() path, then trace how the leafy-branch pruning state is determined. Done means the filter can use a simple intersects() call when no leafy branches are pruned, while retaining recursive descent when approximation requires it.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.