pub struct VectorStore {
pub name_to_id: Arc<DashMap<String, EntityId>>,
pub id_to_name: Arc<DashMap<EntityId, String>>,
pub index: Arc<Index>,
pub dims: u32,
pub count: AtomicUsize,
pub db_path: PathBuf,
/* private fields */
}Fields§
§name_to_id: Arc<DashMap<String, EntityId>>§id_to_name: Arc<DashMap<EntityId, String>>§index: Arc<Index>§dims: u32§count: AtomicUsize§db_path: PathBufImplementations§
Source§impl VectorStore
impl VectorStore
Sourcepub fn new(db_path: &Path, dims: u32) -> Result<Self>
pub fn new(db_path: &Path, dims: u32) -> Result<Self>
Open a store with the default HNSW configuration for dims.
Sourcepub fn with_config(db_path: &Path, cfg: &VectorConfig) -> Result<Self>
pub fn with_config(db_path: &Path, cfg: &VectorConfig) -> Result<Self>
Open a store with an explicit HNSW configuration.
pub fn upsert_embedding( &self, entity_name: &str, embedding: &[f32], model: &str, ) -> Result<()>
pub fn delete_embedding(&self, entity_name: &str) -> Result<bool>
pub fn search_embeddings( &self, query: &[f32], top_k: usize, ) -> Result<Vec<(EntityId, f32)>>
pub fn search_entities_json( &self, query: &[f32], top_k: usize, entity_type_filter: Option<&str>, ) -> Result<String>
pub fn build_search_response_json(&self, results: &[(EntityId, f32)]) -> String
pub fn rebuild_graph_cache(&self) -> Result<()>
pub fn graph_node_count(&self) -> usize
pub fn graph_edge_count(&self) -> usize
pub fn get_entity_type(&self, entity_id: EntityId) -> Result<Option<String>>
pub fn count(&self) -> usize
pub const fn dims(&self) -> u32
pub fn name_to_id(&self) -> &DashMap<String, EntityId>
pub fn id_to_name(&self) -> &DashMap<EntityId, String>
Auto Trait Implementations§
impl !Freeze for VectorStore
impl !RefUnwindSafe for VectorStore
impl !UnwindSafe for VectorStore
impl Send for VectorStore
impl Sync for VectorStore
impl Unpin for VectorStore
impl UnsafeUnpin for VectorStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more