use crate::error::SearchError;
use crate::hit::SearchHit;
use crate::hnsw::VectorIndex;
use crate::metadata::{MetadataFilter, MetadataIndex};
use crate::storage::MappedVectorIndex;
impl MetadataIndex {
pub fn search(
&self,
index: &VectorIndex,
query: &[f32],
count: usize,
filter: &MetadataFilter,
) -> Result<Vec<SearchHit>, SearchError> {
index.search_filtered(query, count, |key| self.matches(key, filter))
}
pub fn search_mapped(
&self,
index: &MappedVectorIndex,
query: &[f32],
count: usize,
filter: &MetadataFilter,
) -> Result<Vec<SearchHit>, SearchError> {
index.search_filtered(query, count, |key| self.matches(key, filter))
}
}