apache / apache/lucene

IndexSearcher#setTimeout should also abort query rewrites, point ranges and vector searches [LUCENE-10641]

Open
#11,677 1 comment 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Minor type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

`IndexSearcher` only checks the query timeout in the collection phase for now. It should check the timeout in other operations that may take time such as intersecting a fuzzy automaton with a terms dictionary, evaluating points that fall into a range or running a vector search. This should be possible to do by wrapping the IndexReader's data structures in the same way as `ExitableDirectoryReader`?

---
Migrated from [LUCENE-10641](https://issues.apache.org/jira/browse/LUCENE-10641) by Adrien Grand (@jpountz)

Contributor guide

Open the contributing guide

Research direction

Start by reading IndexSearcher#setTimeout and the existing ExitableDirectoryReader approach. Trace how query rewrites, point-range evaluation, and vector searches access the IndexReader’s data structures. Done means timeout checks can abort each of those operations, not only collection.

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
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.