From 026fbbcfcd536244c18d86f3d65287c63583b22b Mon Sep 17 00:00:00 2001 From: ellnix Date: Tue, 21 Jan 2025 12:39:59 +0100 Subject: [PATCH 1/9] Add facet search setting methods --- src/settings.rs | 149 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 148 insertions(+), 1 deletion(-) diff --git a/src/settings.rs b/src/settings.rs index 003ae4c2..4e42a681 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -795,7 +795,40 @@ impl Index { .await } - /// Get [typo tolerance](https://www.meilisearch.com/docs/reference/api/settings#typo-tolerance) of the [Index]. + /// Get [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) of the [Index]. + /// + /// # Example + /// + /// ``` + /// # use meilisearch_sdk::{client::*, indexes::*}; + /// # + /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); + /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); + /// # + /// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { + /// # let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); + /// # client.create_index("get_facet_search", None).await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// let index = client.index("get_facet_search"); + /// + /// let facet_search = index.get_facet_search().await.unwrap(); + /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// # }); + /// ``` + pub async fn get_facet_search(&self) -> Result { + self.client + .http_client + .request::<(), (), bool>( + &format!( + "{}/indexes/{}/settings/facet-search", + self.client.host, self.uid + ), + Method::Get { query: () }, + 200, + ) + .await + } + + /// Get [typo tolerance](https://www.meilisearch.com/docs/learn/configuration/typo_tolerance#typo-tolerance) of the [Index]. /// /// ``` /// # use meilisearch_sdk::{client::*, indexes::*}; @@ -1629,6 +1662,45 @@ impl Index { .await } + /// update [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) settings of the [Index]. + /// + /// # Example + /// + /// ``` + /// # use meilisearch_sdk::{client::*, indexes::*, settings::Settings}; + /// # + /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); + /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); + /// # + /// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { + /// let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); + /// # client.create_index("set_facet_search", None).await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// let mut index = client.index("set_facet_search"); + /// + /// let task = index.set_facet_search(false).await.unwrap(); + /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// # }); + /// ``` + pub async fn set_facet_search( + &self, + facet_search: bool, + ) -> Result { + self.client + .http_client + .request::<(), bool, TaskInfo>( + &format!( + "{}/indexes/{}/settings/facet-search", + self.client.host, self.uid + ), + Method::Put { + query: (), + body: facet_search, + }, + 202, + ) + .await + } + /// Update [search cutoff](https://www.meilisearch.com/docs/reference/api/settings#search-cutoff) settings of the [Index]. /// /// # Example @@ -2172,6 +2244,39 @@ impl Index { .await } + /// Reset [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) settings of the [Index]. + /// + /// # Example + /// + /// ``` + /// # use meilisearch_sdk::{client::*, indexes::*, settings::Settings}; + /// # + /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); + /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); + /// # + /// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { + /// let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); + /// # client.create_index("reset_facet_search", None).await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// let mut index = client.index("reset_facet_search"); + /// + /// let task = index.reset_facet_search().await.unwrap(); + /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// # }); + /// ``` + pub async fn reset_facet_search(&self) -> Result { + self.client + .http_client + .request::<(), (), TaskInfo>( + &format!( + "{}/indexes/{}/settings/facet-search", + self.client.host, self.uid + ), + Method::Delete { query: () }, + 202, + ) + .await + } + /// Reset [search cutoff](https://www.meilisearch.com/docs/reference/api/settings#search-cutoff) settings of the [Index]. /// /// # Example @@ -2558,6 +2663,48 @@ mod tests { assert_eq!(expected, default); } + #[meilisearch_test] + async fn test_get_facet_search(index: Index) { + let expected = true; + + let res = index.get_facet_search().await.unwrap(); + + assert_eq!(expected, res); + } + + #[meilisearch_test] + async fn test_set_facet_search(client: Client, index: Index) { + let expected = false; + + let task_info = index + .set_facet_search(false) + .await + .unwrap(); + client.wait_for_task(task_info, None, None).await.unwrap(); + + let res = index.get_facet_search().await.unwrap(); + + assert_eq!(expected, res); + } + + #[meilisearch_test] + async fn test_reset_facet_search(index: Index) { + let expected = true; + + let task = index + .set_facet_search(false) + .await + .unwrap(); + index.wait_for_task(task, None, None).await.unwrap(); + + let reset_task = index.reset_facet_search().await.unwrap(); + index.wait_for_task(reset_task, None, None).await.unwrap(); + + let default = index.get_facet_search().await.unwrap(); + + assert_eq!(expected, default); + } + #[meilisearch_test] async fn test_get_search_cutoff_ms(index: Index) { let expected = None; From f87fcf1adf4b17c3bd209bdb2bcbd512a3add346 Mon Sep 17 00:00:00 2001 From: ellnix Date: Tue, 21 Jan 2025 12:42:52 +0100 Subject: [PATCH 2/9] Add facet search setting code samples --- .code-samples.meilisearch.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index cfa10a2d..9a792e03 100644 --- a/.code-samples.meilisearch.yaml +++ b/.code-samples.meilisearch.yaml @@ -1681,6 +1681,24 @@ reset_proximity_precision_settings_1: |- .reset_proximity_precision() .await .unwrap(); +get_facet_search_settings_1: |- + let facet_search: bool = client + .index(INDEX_UID) + .get_facet_search() + .await + .unwrap(); +update_facet_search_settings_1: |- + let task: TaskInfo = client + .index(INDEX_UID) + .set_facet_search(false) + .await + .unwrap(); +reset_facet_search_settings_1: |- + let task: TaskInfo = client + .index(INDEX_UID) + .reset_facet_search() + .await + .unwrap(); get_search_cutoff_1: |- let search_cutoff_ms: String = client .index("movies") From 770e7cdba911ddb426c0e50c53613e99a28a4ff7 Mon Sep 17 00:00:00 2001 From: ellnix Date: Tue, 21 Jan 2025 12:50:59 +0100 Subject: [PATCH 3/9] Add prefix search setting methods --- src/settings.rs | 147 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/src/settings.rs b/src/settings.rs index 4e42a681..c9079d6a 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -828,6 +828,39 @@ impl Index { .await } + /// Get [prefix-search settings](https://www.meilisearch.com/docs/reference/api/settings#prefix-search) of the [Index]. + /// + /// # Example + /// + /// ``` + /// # use meilisearch_sdk::{client::*, indexes::*}; + /// # + /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); + /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); + /// # + /// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { + /// # let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); + /// # client.create_index("get_prefix_search", None).await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// let index = client.index("get_prefix_search"); + /// + /// let prefix_search = index.get_prefix_search().await.unwrap(); + /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// # }); + /// ``` + pub async fn get_prefix_search(&self) -> Result { + self.client + .http_client + .request::<(), (), String>( + &format!( + "{}/indexes/{}/settings/prefix-search", + self.client.host, self.uid + ), + Method::Get { query: () }, + 200, + ) + .await + } + /// Get [typo tolerance](https://www.meilisearch.com/docs/learn/configuration/typo_tolerance#typo-tolerance) of the [Index]. /// /// ``` @@ -1701,6 +1734,45 @@ impl Index { .await } + /// update [prefix-search settings](https://www.meilisearch.com/docs/reference/api/settings#prefix-search) settings of the [Index]. + /// + /// # Example + /// + /// ``` + /// # use meilisearch_sdk::{client::*, indexes::*, settings::Settings}; + /// # + /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); + /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); + /// # + /// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { + /// let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); + /// # client.create_index("set_prefix_search", None).await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// let mut index = client.index("set_prefix_search"); + /// + /// let task = index.set_prefix_search("disabled".to_string()).await.unwrap(); + /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// # }); + /// ``` + pub async fn set_prefix_search( + &self, + prefix_search: String, + ) -> Result { + self.client + .http_client + .request::<(), String, TaskInfo>( + &format!( + "{}/indexes/{}/settings/prefix-search", + self.client.host, self.uid + ), + Method::Put { + query: (), + body: prefix_search, + }, + 202, + ) + .await + } + /// Update [search cutoff](https://www.meilisearch.com/docs/reference/api/settings#search-cutoff) settings of the [Index]. /// /// # Example @@ -2277,6 +2349,39 @@ impl Index { .await } + /// Reset [prefix-search settings](https://www.meilisearch.com/docs/reference/api/settings#prefix-search) settings of the [Index]. + /// + /// # Example + /// + /// ``` + /// # use meilisearch_sdk::{client::*, indexes::*, settings::Settings}; + /// # + /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); + /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); + /// # + /// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async { + /// let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap(); + /// # client.create_index("reset_prefix_search", None).await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// let mut index = client.index("reset_prefix_search"); + /// + /// let task = index.reset_prefix_search().await.unwrap(); + /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); + /// # }); + /// ``` + pub async fn reset_prefix_search(&self) -> Result { + self.client + .http_client + .request::<(), (), TaskInfo>( + &format!( + "{}/indexes/{}/settings/prefix-search", + self.client.host, self.uid + ), + Method::Delete { query: () }, + 202, + ) + .await + } + /// Reset [search cutoff](https://www.meilisearch.com/docs/reference/api/settings#search-cutoff) settings of the [Index]. /// /// # Example @@ -2705,6 +2810,48 @@ mod tests { assert_eq!(expected, default); } + #[meilisearch_test] + async fn test_get_prefix_search(index: Index) { + let expected = "indexingTime".to_string(); + + let res = index.get_prefix_search().await.unwrap(); + + assert_eq!(expected, res); + } + + #[meilisearch_test] + async fn test_set_prefix_search(client: Client, index: Index) { + let expected = "disabled".to_string(); + + let task_info = index + .set_prefix_search("disabled".to_string()) + .await + .unwrap(); + client.wait_for_task(task_info, None, None).await.unwrap(); + + let res = index.get_prefix_search().await.unwrap(); + + assert_eq!(expected, res); + } + + #[meilisearch_test] + async fn test_reset_prefix_search(index: Index) { + let expected = "indexingTime".to_string(); + + let task = index + .set_prefix_search("disabled".to_string()) + .await + .unwrap(); + index.wait_for_task(task, None, None).await.unwrap(); + + let reset_task = index.reset_prefix_search().await.unwrap(); + index.wait_for_task(reset_task, None, None).await.unwrap(); + + let default = index.get_prefix_search().await.unwrap(); + + assert_eq!(expected, default); + } + #[meilisearch_test] async fn test_get_search_cutoff_ms(index: Index) { let expected = None; From a5e56fe6b9d9bd38593136617983cdbbf0c33b12 Mon Sep 17 00:00:00 2001 From: ellnix Date: Tue, 21 Jan 2025 12:52:38 +0100 Subject: [PATCH 4/9] Add prefix search setting code samples --- .code-samples.meilisearch.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index 9a792e03..ebdd64f8 100644 --- a/.code-samples.meilisearch.yaml +++ b/.code-samples.meilisearch.yaml @@ -1699,6 +1699,24 @@ reset_facet_search_settings_1: |- .reset_facet_search() .await .unwrap(); +get_prefix_search_settings_1: |- + let prefix_search: String = client + .index(INDEX_UID) + .get_prefix_search() + .await + .unwrap(); +update_prefix_search_settings_1: |- + let task: TaskInfo = client + .index(INDEX_UID) + .set_prefix_search("disabled".to_string()) + .await + .unwrap(); +reset_prefix_search_settings_1: |- + let task: TaskInfo = client + .index(INDEX_UID) + .reset_prefix_search() + .await + .unwrap(); get_search_cutoff_1: |- let search_cutoff_ms: String = client .index("movies") From d11887c4483e9ce90ddfe6e64db8d38240fe9844 Mon Sep 17 00:00:00 2001 From: ellnix Date: Tue, 21 Jan 2025 13:02:52 +0100 Subject: [PATCH 5/9] Fix formatting --- src/settings.rs | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/src/settings.rs b/src/settings.rs index c9079d6a..6a8b984d 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -1714,10 +1714,7 @@ impl Index { /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); /// # }); /// ``` - pub async fn set_facet_search( - &self, - facet_search: bool, - ) -> Result { + pub async fn set_facet_search(&self, facet_search: bool) -> Result { self.client .http_client .request::<(), bool, TaskInfo>( @@ -1753,10 +1750,7 @@ impl Index { /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); /// # }); /// ``` - pub async fn set_prefix_search( - &self, - prefix_search: String, - ) -> Result { + pub async fn set_prefix_search(&self, prefix_search: String) -> Result { self.client .http_client .request::<(), String, TaskInfo>( @@ -2781,10 +2775,7 @@ mod tests { async fn test_set_facet_search(client: Client, index: Index) { let expected = false; - let task_info = index - .set_facet_search(false) - .await - .unwrap(); + let task_info = index.set_facet_search(false).await.unwrap(); client.wait_for_task(task_info, None, None).await.unwrap(); let res = index.get_facet_search().await.unwrap(); @@ -2796,10 +2787,7 @@ mod tests { async fn test_reset_facet_search(index: Index) { let expected = true; - let task = index - .set_facet_search(false) - .await - .unwrap(); + let task = index.set_facet_search(false).await.unwrap(); index.wait_for_task(task, None, None).await.unwrap(); let reset_task = index.reset_facet_search().await.unwrap(); From 843994408713386092aefeae14439fe66a9cbe6c Mon Sep 17 00:00:00 2001 From: Mubelotix Date: Thu, 10 Jul 2025 19:17:59 +0200 Subject: [PATCH 6/9] Uppercase --- src/settings.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settings.rs b/src/settings.rs index 350d230c..e53ab048 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -1925,7 +1925,7 @@ impl Index { .await } - /// update [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) settings of the [Index]. + /// Update [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) settings of the [Index]. /// /// # Example /// From 1aa65a11aee0a98973031320be6e6804cb8ccc9d Mon Sep 17 00:00:00 2001 From: Mubelotix Date: Thu, 10 Jul 2025 19:20:47 +0200 Subject: [PATCH 7/9] Format --- src/settings.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/settings.rs b/src/settings.rs index e53ab048..b5e21ffe 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -932,7 +932,7 @@ impl Index { ) .await } - + /// Get [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) of the [Index]. /// /// # Example @@ -1924,7 +1924,7 @@ impl Index { ) .await } - + /// Update [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) settings of the [Index]. /// /// # Example @@ -2572,7 +2572,7 @@ impl Index { ) .await } - + /// Reset [facet-search settings](https://www.meilisearch.com/docs/reference/api/settings#facet-search) settings of the [Index]. /// /// # Example @@ -3136,7 +3136,7 @@ mod tests { assert_eq!(expected, default); } - + #[meilisearch_test] async fn test_get_facet_search(index: Index) { let expected = true; From c653a567127a06b00a18ec4ee51254cd7ed684ad Mon Sep 17 00:00:00 2001 From: Mubelotix Date: Fri, 11 Jul 2025 10:31:41 +0200 Subject: [PATCH 8/9] Make prefix search an enum --- .code-samples.meilisearch.yaml | 4 ++-- src/settings.rs | 42 +++++++++++++++++++++++++--------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index 4b84bee4..f793d026 100644 --- a/.code-samples.meilisearch.yaml +++ b/.code-samples.meilisearch.yaml @@ -1690,7 +1690,7 @@ reset_facet_search_settings_1: |- .await .unwrap(); get_prefix_search_settings_1: |- - let prefix_search: String = client + let prefix_search: PrefixSearchSettings = client .index(INDEX_UID) .get_prefix_search() .await @@ -1698,7 +1698,7 @@ get_prefix_search_settings_1: |- update_prefix_search_settings_1: |- let task: TaskInfo = client .index(INDEX_UID) - .set_prefix_search("disabled".to_string()) + .set_prefix_search(PrefixSearchSettings::Disabled) .await .unwrap(); reset_prefix_search_settings_1: |- diff --git a/src/settings.rs b/src/settings.rs index b5e21ffe..ba1c05e2 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -37,6 +37,23 @@ pub enum FacetSortValue { Count, } +#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] +#[serde(rename_all = "camelCase")] +pub enum PrefixSearchSettings { + /// Calculate prefix search during indexing. + /// This is the default behavior + IndexingTime, + + /// Do not calculate prefix search. + /// May speed up indexing, but will severely impact search result relevancy + Disabled, + + /// Any other value that might be added to Meilisearch in the future but that is not supported by this SDK. + /// If you see one, please open a PR + #[serde(untagged)] + Unknown(String), +} + #[derive(Serialize, Deserialize, Default, Debug, Clone, Eq, PartialEq)] #[serde(rename_all = "camelCase")] pub struct FacetingSettings { @@ -985,10 +1002,10 @@ impl Index { /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); /// # }); /// ``` - pub async fn get_prefix_search(&self) -> Result { + pub async fn get_prefix_search(&self) -> Result { self.client .http_client - .request::<(), (), String>( + .request::<(), (), PrefixSearchSettings>( &format!( "{}/indexes/{}/settings/prefix-search", self.client.host, self.uid @@ -1966,7 +1983,7 @@ impl Index { /// # Example /// /// ``` - /// # use meilisearch_sdk::{client::*, indexes::*, settings::Settings}; + /// # use meilisearch_sdk::{client::*, indexes::*, settings::{Settings, PrefixSearchSettings}}; /// # /// # let MEILISEARCH_URL = option_env!("MEILISEARCH_URL").unwrap_or("http://localhost:7700"); /// # let MEILISEARCH_API_KEY = option_env!("MEILISEARCH_API_KEY").unwrap_or("masterKey"); @@ -1976,14 +1993,17 @@ impl Index { /// # client.create_index("set_prefix_search", None).await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); /// let mut index = client.index("set_prefix_search"); /// - /// let task = index.set_prefix_search("disabled".to_string()).await.unwrap(); + /// let task = index.set_prefix_search(PrefixSearchSettings::Disabled).await.unwrap(); /// # index.delete().await.unwrap().wait_for_completion(&client, None, None).await.unwrap(); /// # }); /// ``` - pub async fn set_prefix_search(&self, prefix_search: String) -> Result { + pub async fn set_prefix_search( + &self, + prefix_search: PrefixSearchSettings, + ) -> Result { self.client .http_client - .request::<(), String, TaskInfo>( + .request::<(), PrefixSearchSettings, TaskInfo>( &format!( "{}/indexes/{}/settings/prefix-search", self.client.host, self.uid @@ -3175,7 +3195,7 @@ mod tests { #[meilisearch_test] async fn test_get_prefix_search(index: Index) { - let expected = "indexingTime".to_string(); + let expected = PrefixSearchSettings::IndexingTime; let res = index.get_prefix_search().await.unwrap(); @@ -3184,10 +3204,10 @@ mod tests { #[meilisearch_test] async fn test_set_prefix_search(client: Client, index: Index) { - let expected = "disabled".to_string(); + let expected = PrefixSearchSettings::Disabled; let task_info = index - .set_prefix_search("disabled".to_string()) + .set_prefix_search(PrefixSearchSettings::Disabled) .await .unwrap(); client.wait_for_task(task_info, None, None).await.unwrap(); @@ -3199,10 +3219,10 @@ mod tests { #[meilisearch_test] async fn test_reset_prefix_search(index: Index) { - let expected = "indexingTime".to_string(); + let expected = PrefixSearchSettings::IndexingTime; let task = index - .set_prefix_search("disabled".to_string()) + .set_prefix_search(PrefixSearchSettings::Disabled) .await .unwrap(); index.wait_for_task(task, None, None).await.unwrap(); From 2a3c015ae074779e05a898a28ccfa4ec6881a817 Mon Sep 17 00:00:00 2001 From: Mubelotix Date: Fri, 11 Jul 2025 10:38:46 +0200 Subject: [PATCH 9/9] Add key fallback --- src/key.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/key.rs b/src/key.rs index 312bbc27..5a6366f8 100644 --- a/src/key.rs +++ b/src/key.rs @@ -651,7 +651,7 @@ impl AsRef for KeyBuilder { } } -#[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)] pub enum Action { /// Provides access to everything. #[serde(rename = "*")] @@ -713,8 +713,13 @@ pub enum Action { /// Provides access to the [delete key](https://www.meilisearch.com/docs/reference/api/keys#delete-a-key) endpoint. #[serde(rename = "keys.delete")] KeyDelete, + /// Provides access to chat completions endpoints. #[serde(rename = "chatCompletions")] ChatCompletions, + /// Any other value that might be added to Meilisearch in the future but that is not supported by this SDK. + /// If you see one, please open a PR + #[serde(untagged)] + Unknown(String), } #[derive(Debug, Clone, Deserialize)]