pub async fn search(
table: &TableIdent,
query: &[f32],
config: SearchConfig,
vector_column: &str,
dim: u32,
catalog: Arc<dyn CatalogProvider>,
store: Arc<dyn Store>,
) -> AilakeResult<Vec<SearchResult>>Expand description
Search across all files in the latest snapshot, with geometric pruning.
Flow:
- Load file list from catalog (includes centroid metadata)
- Prune files whose centroid + radius cannot contain a result within
pruning_threshold - For surviving files: load bytes, deserialize HNSW, run top-k search
- Global merge of all per-file top-k lists, return global top-k