Skip to content

Commit 87b15ff

Browse files
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 eviction
1 parent 4605f0e commit 87b15ff

1 file changed

Lines changed: 205 additions & 127 deletions

File tree

0 commit comments

Comments
 (0)