IndexSearcher#setTimeout should also abort query rewrites, point ranges and vector searches [LUCENE-10641]
- 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
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