From 190b78b7be84930795df0f3f1738e1a802d5320d Mon Sep 17 00:00:00 2001 From: mpostma Date: Tue, 27 Oct 2020 17:27:47 +0100 Subject: [PATCH] Revert "Merge #1037" This reverts commit 257f9fb2b2b69045bff01a093e6ce15440af1bed, reversing changes made to 9bae7a35bf98ee79370be422292fd71f5e884015. --- meilisearch-core/src/store/synonyms.rs | 8 +++-- .../src/update/settings_update.rs | 14 +------- meilisearch-http/tests/search.rs | 35 ------------------- 3 files changed, 7 insertions(+), 50 deletions(-) diff --git a/meilisearch-core/src/store/synonyms.rs b/meilisearch-core/src/store/synonyms.rs index 31d4bb10f..bf7472f96 100644 --- a/meilisearch-core/src/store/synonyms.rs +++ b/meilisearch-core/src/store/synonyms.rs @@ -12,14 +12,18 @@ pub struct Synonyms { } impl Synonyms { - pub(crate) fn put_synonyms(self, writer: &mut heed::RwTxn, word: &[u8], synonyms: &fst::Set) -> ZResult<()> + pub fn put_synonyms(self, writer: &mut heed::RwTxn, word: &[u8], synonyms: &fst::Set) -> ZResult<()> where A: AsRef<[u8]>, { let bytes = synonyms.as_fst().as_bytes(); self.synonyms.put(writer, word, bytes) } - pub(crate) fn clear(self, writer: &mut heed::RwTxn) -> ZResult<()> { + pub fn del_synonyms(self, writer: &mut heed::RwTxn, word: &[u8]) -> ZResult { + self.synonyms.delete(writer, word) + } + + pub fn clear(self, writer: &mut heed::RwTxn) -> ZResult<()> { self.synonyms.clear(writer) } diff --git a/meilisearch-core/src/update/settings_update.rs b/meilisearch-core/src/update/settings_update.rs index 7fa0f983c..94e337265 100644 --- a/meilisearch-core/src/update/settings_update.rs +++ b/meilisearch-core/src/update/settings_update.rs @@ -126,7 +126,7 @@ pub fn apply_settings_update( } match settings.synonyms { - UpdateState::Update(synonyms) => apply_synonyms_update(writer, index, canonicalize_synonyms(synonyms))? , + UpdateState::Update(synonyms) => apply_synonyms_update(writer, index, synonyms)?, UpdateState::Clear => apply_synonyms_update(writer, index, BTreeMap::new())?, UpdateState::Nothing => (), } @@ -138,18 +138,6 @@ pub fn apply_settings_update( Ok(()) } -fn canonicalize_synonyms(synonyms: BTreeMap>) -> BTreeMap> { - let mut canonicalized = BTreeMap::new(); - for (key, values) in synonyms { - let deunicoded = deunicode::deunicode(&key); - canonicalized - .entry(deunicoded) - .or_insert_with(Vec::new) - .extend_from_slice(&values); - } - canonicalized -} - fn apply_attributes_for_faceting_update( writer: &mut heed::RwTxn, index: &store::Index, diff --git a/meilisearch-http/tests/search.rs b/meilisearch-http/tests/search.rs index f4ce60219..92879bb7b 100644 --- a/meilisearch-http/tests/search.rs +++ b/meilisearch-http/tests/search.rs @@ -1829,38 +1829,3 @@ async fn update_documents_with_facet_distribution() { let (response2, _) = server.search_post(search).await; assert_json_eq!(expected_facet_distribution, response2["facetsDistribution"].clone()); } - -#[actix_rt::test] -async fn test_search_synonyms_unicased() { - let mut server = common::Server::with_uid("test"); - let body = json!({ "uid": "test" }); - server.create_index(body).await; - let settings = json!({ - "synonyms": { - "cáse": ["truc"], - "case": ["machin"] - } - }); - server.update_all_settings(settings).await; - - let (response, _) = server.get_synonyms().await; - assert_json_eq!(response, json!({"case":["machin", "truc"]})); - - let update = json!([ - { - "id": "1", - "title": "truc" - }, - ]); - server.add_or_update_multiple_documents(update).await; - - let search = json!({ - "q": "case", - }); - let (response, _) = server.search_post(search).await; - assert_eq!(response["hits"].as_array().unwrap().len(), 1); - - server.delete_synonyms().await; - let (response, _) = server.get_synonyms().await; - assert_json_eq!(response, json!({})); -}