pub fn search_semantic(
query_embedding: &[f32],
chunk_embeddings: &[Vec<f32>],
top_k: usize,
selector: Option<&[usize]>,
) -> Vec<(usize, f32)>Expand description
Pure semantic search: rank every chunk by dot product against the query embedding, then take the top-k after optional selector mask.