From 7cef2299cf0642d846246e6687193484f8f7fc03 Mon Sep 17 00:00:00 2001 From: Louis Dureuil Date: Tue, 11 Jun 2024 09:42:45 +0200 Subject: [PATCH] Fix behavior when removing a document --- milli/src/update/clear_documents.rs | 7 +++++++ .../index_documents/extract/extract_vector_points.rs | 1 + 2 files changed, 8 insertions(+) diff --git a/milli/src/update/clear_documents.rs b/milli/src/update/clear_documents.rs index 3490b55e4..9eca378a5 100644 --- a/milli/src/update/clear_documents.rs +++ b/milli/src/update/clear_documents.rs @@ -64,6 +64,13 @@ impl<'t, 'i> ClearDocuments<'t, 'i> { self.index.delete_geo_rtree(self.wtxn)?; self.index.delete_geo_faceted_documents_ids(self.wtxn)?; + // Remove all user-provided bits from the configs + let mut configs = self.index.embedding_configs(self.wtxn)?; + for config in configs.iter_mut() { + config.user_provided.clear(); + } + self.index.put_embedding_configs(self.wtxn, configs)?; + // Clear the other databases. external_documents_ids.clear(self.wtxn)?; word_docids.clear(self.wtxn)?; diff --git a/milli/src/update/index_documents/extract/extract_vector_points.rs b/milli/src/update/index_documents/extract/extract_vector_points.rs index 964cb35e8..48e3e697a 100644 --- a/milli/src/update/index_documents/extract/extract_vector_points.rs +++ b/milli/src/update/index_documents/extract/extract_vector_points.rs @@ -225,6 +225,7 @@ pub fn extract_vector_points( } else if document_is_kept && old.is_none() { VectorStateDelta::NoChange } else { + remove_from_user_provided.insert(docid); VectorStateDelta::NowRemoved } }