quickwit-oss / quickwit-oss/quickwit
optimize range request by transforming them to filters
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 11.7k
- Forks
- 597
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 37
Description
when we have a query such as (+term_query +range_query), it may be more efficient to change that to some Filter(term_query, range_query), where Filter() would be a query which run the subquery it has as a first parameter, and asks the 2nd parameter whether that value should be emitted. This is especially true if the query is cheap, and filters a lot
This is based on observations that range_query over the timestamp field is more efficiently handled through filtering via collector, than through a boolean query inside the query AST.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by tracing the query AST handling for boolean queries, range queries, and collector-based filtering, then compare the timestamp range-query path with the proposed Filter behavior. Done means determining and implementing the transformation where it is demonstrably more efficient, with coverage for the affected query cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100