(
&self,
vector_id: VectorId,
version: VersionNumber,
config: &Config,
)
| 584 | } |
| 585 | |
| 586 | pub fn delete_embedding( |
| 587 | &self, |
| 588 | vector_id: VectorId, |
| 589 | version: VersionNumber, |
| 590 | config: &Config, |
| 591 | ) -> Result<(), WaCustomError> { |
| 592 | let Some(internal_id) = self |
| 593 | .external_to_internal_map |
| 594 | .get_latest(&vector_id) |
| 595 | .cloned() |
| 596 | else { |
| 597 | return Ok(()); |
| 598 | }; |
| 599 | |
| 600 | let Some(raw_emb) = self.internal_to_external_map.get_latest(&internal_id) else { |
| 601 | return Ok(()); |
| 602 | }; |
| 603 | |
| 604 | if let Some(hnsw_index) = self.get_hnsw_index() { |
| 605 | hnsw_index.delete_embedding(internal_id, raw_emb, version, config)?; |
| 606 | } |
| 607 | |
| 608 | if let Some(inverted_index) = self.get_inverted_index() { |
| 609 | inverted_index.delete_embedding(internal_id, raw_emb, version, config)?; |
| 610 | } |
| 611 | |
| 612 | if let Some(tf_idf_index) = self.get_tf_idf_index() { |
| 613 | tf_idf_index.delete_embedding(internal_id, raw_emb, version, config)?; |
| 614 | } |
| 615 | |
| 616 | self.internal_to_external_map.delete(version, &internal_id); |
| 617 | self.external_to_internal_map.delete(version, &vector_id); |
| 618 | if let Some(document_id) = &raw_emb.document_id { |
| 619 | self.document_to_internals_map |
| 620 | .delete(version, document_id, internal_id); |
| 621 | } |
| 622 | |
| 623 | Ok(()) |
| 624 | } |
| 625 | |
| 626 | pub fn trigger_indexing(&self, txn_id: ExplicitTransactionID, version: VersionNumber) { |
| 627 | self.indexing_manager |
no test coverage detected