Repository navigation
feat(file-index): support precise file index predicate evaluation - #490
Merged
Merged
Conversation
lszskye
force-pushed
the
multi_file_index_evaluate
branch
from
November 2, 2026 09:47
337eea7 to
81177a7
Compare
lxy-9602
reviewed
Nov 3, 2026
Member
|
Please link an issue for this pr. |
SteNicholas
reviewed
Nov 3, 2026
Member
There was a problem hiding this comment.
@lszskye, I left some comments for this pull request. PTAL.
lxy-9602
reviewed
Nov 4, 2026
lszskye
force-pushed
the
multi_file_index_evaluate
branch
from
November 4, 2026 12:27
81177a7 to
69ecf8e
Compare
SteNicholas
reviewed
Nov 5, 2026
Member
There was a problem hiding this comment.
@lszskye, thanks for updates. I left some comments for updates: an empty IN list on a Bloom-indexed column can crash, and a sub-millisecond bound can make precise evaluation drop a matching row.
lszskye
force-pushed
the
multi_file_index_evaluate
branch
from
November 5, 2026 04:02
4d62998 to
6713dcc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Linked issue: #452
Implement precise file-index evaluation for mixed scalar and full-text predicates, with optional vector or full-text TopK applied after filtering.
EnablePreciseFileIndexEvaluatefor append-only reads and primary-key reads with deletion vectors.FileIndexEvaluator.Precise evaluation requires bitmap32-compatible file row positions and rejects bitmap64 deletion vectors and merge reads. Full-text and vector searches require suitable indexes; only scalar predicates support evaluation without an index. TopK remains per file.
Tests
read_context_test.cpp
empty_file_index_reader_test.cpp
file_index_reader_test.cpp
complete_index_score_file_batch_reader_test.cpp
file_index_evaluator_test.cpp
file_index_read_executor_test.cpp
internal_read_context_test.cpp
raw_file_split_read_test.cpp
table_read_test.cpp
predicate_abi_inte_test.cpp
read_inte_with_index_test.cpp
write_and_read_inte_test.cpp
API and Format
ReadContextBuilder::EnablePreciseFileIndexEvaluate, defaulting to false, and carry the setting throughReadContext.file-index.read.enabled=truefor file-level vector/full-text searches and FullTextMatch predicates._<field>_INDEX_SCOREprojections in precise mode; reject_INDEX_SCORE.FileIndexReaderwith search capability checks and selectivity estimates. Full-text TopK returns scored results, and FullTextMatch supports optional scores.FileIndexer::CreateEmptyReaderto preserve search capabilities for empty indexes.FileIndexReaderrather than the generic scalarFunctionVisitor.Documentation
Update the read API comments and
docs/source/api/file_index.rstwith the precise evaluation option, search requirements and named score projection examples.Generative AI tooling
Generated-by: OpenAI Codex (GPT-6)