Skip to main content

search

Function search 

Source
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:

  1. Load file list from catalog (includes centroid metadata)
  2. Prune files whose centroid + radius cannot contain a result within pruning_threshold
  3. For surviving files: load bytes, deserialize HNSW, run top-k search
  4. Global merge of all per-file top-k lists, return global top-k