Commit 87b15ff
committed
feat(planner): Parquet-native adaptive filter with two-scan approach
Pre-scan uses projection (scalar + _key only, no vector column) with
filter pushdown for selectivity estimation. Low-selectivity path
(<= 5%) bypasses USearch and SQLite entirely — streams full Parquet
scan, evaluates filters inline, computes distances, and maintains a
top-k heap (ScoredRow) to return results directly.
High-selectivity path unchanged: HNSW filtered_search → SQLite fetch.
- Remove old brute-force path and heap_select_top_k helper
- Add parquet_native_execute() for the low-selectivity path
- Add ScoredRow struct with Ord impl for max-heap eviction1 parent 4605f0e commit 87b15ff
1 file changed
Lines changed: 205 additions & 127 deletions
0 commit comments