From af0295495231f86bde2c1433d13b907c53709da4 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Wed, 16 Jul 2025 16:41:50 +0200 Subject: [PATCH 1/2] add `embedderRequests` to `/batches` response --- reference/api/batches.mdx | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/reference/api/batches.mdx b/reference/api/batches.mdx index a9e48c97c..e53dd0845 100644 --- a/reference/api/batches.mdx +++ b/reference/api/batches.mdx @@ -48,7 +48,12 @@ The `/batches` route gives information about the progress of batches of [asynchr }, "progressTrace": { … }, "writeChannelCongestion": { … }, - "internalDatabaseSizes": { … } + "internalDatabaseSizes": { … }, + "embedderRequests": { + "total": 12, + "failed": 5, + "lastError": "runtime error: received internal error HTTP 500 from embedding server\n - server replied with `{\"error\":\"Service Unavailable\",\"text\":\"will_error\"}`" + } }, "duration": "PT0.250518S", "startedAt": "2024-12-10T15:20:30.18182Z", @@ -123,6 +128,12 @@ Object containing information on write operations computed during indexing. Can Size of each internal database, including by how much it changed after a batch was processed. +#### `embedderRequests` + +Object containing the total number of requests made to the embedder. Also displays the number of failed tasks, if any, along with the error message for the most recent failure. + +Only present in batches with at least one task querying an embedder. This field continuously updates until Meilisearch finishes processing the batch. + ### `duration` **Type**: String
@@ -219,7 +230,12 @@ For example, `?uids=0` returns a batch containing the task with a `taskUid` equa }, "progressTrace": { … }, "writeChannelCongestion": { … }, - "internalDatabaseSizes": { … } + "internalDatabaseSizes": { … }, + "embedderRequests": { + "total": 12, + "failed": 5, + "lastError": "runtime error: received internal error HTTP 500 from embedding server\n - server replied with `{\"error\":\"Service Unavailable\",\"text\":\"will_error\"}`" + } }, "duration": "PT0.110083S", "startedAt": "2024-12-10T15:49:04.995321Z", @@ -270,6 +286,14 @@ Get a single batch. }, "indexUids": { "INDEX_NAME": 1 + }, + "progressTrace": { … }, + "writeChannelCongestion": { … }, + "internalDatabaseSizes": { … }, + "embedderRequests": { + "total": 12, + "failed": 5, + "lastError": "runtime error: received internal error HTTP 500 from embedding server\n - server replied with `{\"error\":\"Service Unavailable\",\"text\":\"will_error\"}`" } }, "duration": "PT0.364788S", From fe6d46b41c3230da0465d19a6bca3241e0c27ca7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 16 Jul 2025 14:42:28 +0000 Subject: [PATCH 2/2] Update code samples [skip ci] --- ...samples_async_guide_filter_by_statuses_1.mdx | 2 +- ...samples_async_guide_filter_by_statuses_2.mdx | 9 +++++++++ ..._samples_basic_security_tutorial_admin_1.mdx | 8 ++++++++ ...amples_basic_security_tutorial_listing_1.mdx | 8 ++++++++ ...samples_basic_security_tutorial_search_1.mdx | 11 +++++++++++ .../samples/code_samples_facet_search_1.mdx | 10 ++++++++++ .../samples/code_samples_facet_search_2.mdx | 14 ++++++++++++++ .../samples/code_samples_facet_search_3.mdx | 9 +++++++++ .../samples/code_samples_get_all_batches_1.mdx | 4 ++++ snippets/samples/code_samples_get_batch_1.mdx | 4 ++++ .../samples/code_samples_get_embedders_1.mdx | 4 ++++ ...code_samples_get_facet_search_settings_1.mdx | 8 ++++++++ ...ode_samples_get_prefix_search_settings_1.mdx | 8 ++++++++ .../samples/code_samples_get_similar_post_1.mdx | 8 ++++++++ ...de_samples_getting_started_add_documents.mdx | 2 +- .../code_samples_getting_started_faceting.mdx | 3 +++ ...ndex_settings_tutorial_api_get_setting_1.mdx | 7 +++++++ ...ndex_settings_tutorial_api_put_setting_1.mdx | 7 +++++++ ...mples_index_settings_tutorial_api_task_1.mdx | 4 ++++ .../samples/code_samples_negative_search_1.mdx | 8 ++++++++ .../samples/code_samples_negative_search_2.mdx | 8 ++++++++ .../code_samples_related_results_embedder_1.mdx | 16 ++++++++++++++++ .../code_samples_related_results_search_1.mdx | 9 +++++++++ .../code_samples_related_results_similar_1.mdx | 7 +++++++ .../samples/code_samples_reset_embedders_1.mdx | 4 ++++ ...de_samples_reset_facet_search_settings_1.mdx | 8 ++++++++ ...e_samples_reset_prefix_search_settings_1.mdx | 8 ++++++++ ..._samples_search_parameter_guide_hybrid_1.mdx | 10 ++++++++++ ..._samples_search_parameter_guide_vector_1.mdx | 10 ++++++++++ ...h_parameter_reference_retrieve_vectors_1.mdx | 11 +++++++++++ snippets/samples/code_samples_search_post_1.mdx | 2 +- .../samples/code_samples_update_embedders_1.mdx | 17 +++++++++++++++++ ...e_samples_update_facet_search_settings_1.mdx | 8 ++++++++ .../code_samples_update_faceting_settings_1.mdx | 4 ++++ ..._samples_update_prefix_search_settings_1.mdx | 8 ++++++++ 35 files changed, 265 insertions(+), 3 deletions(-) diff --git a/snippets/samples/code_samples_async_guide_filter_by_statuses_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_statuses_1.mdx index 5f67d39c0..609fe90cb 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_statuses_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_statuses_1.mdx @@ -42,7 +42,7 @@ await client.GetTasksAsync(new TasksQuery { Statuses = new List ```rust Rust let mut query = TasksQuery::new(&client); let tasks = query - .with_statuses(["failed", "canceled"]) + .with_statuses(["failed"]) .execute() .await .unwrap(); diff --git a/snippets/samples/code_samples_async_guide_filter_by_statuses_2.mdx b/snippets/samples/code_samples_async_guide_filter_by_statuses_2.mdx index 53e8fd2b4..985a91b0b 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_statuses_2.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_statuses_2.mdx @@ -4,4 +4,13 @@ curl \ -X GET 'MEILISEARCH_URL/tasks?statuses=failed,canceled' ``` + +```rust Rust +let mut query = TasksQuery::new(&client); +let tasks = query + .with_statuses(["failed", "canceled"]) + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx b/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx index ea0c45fb6..e0c803c2b 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx @@ -10,4 +10,12 @@ curl \ "primaryKey": "id" }' ``` + +```rust Rust +let client = Client::new("http://localhost:7700", Some("DEFAULT_ADMIN_API_KEY")); +let task = client + .create_index("medical_records", Some("id")) + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx b/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx index 549088f02..a9d2c5be0 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx @@ -4,4 +4,12 @@ curl -X GET 'MEILISEARCH_URL/keys' \ -H 'Authorization: Bearer MASTER_KEY' ``` + +```rust Rust +let client = Client::new("http://localhost:7700", Some("MASTER_KEY")); +client + .get_keys() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx b/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx index dbdade30f..edbef1caf 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx @@ -7,4 +7,15 @@ curl \ -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ --data-binary '{ "q": "appointments" }' ``` + +```rust Rust +let client = Client::new("http://localhost:7700", Some("DEFAULT_SEARCH_API_KEY")); +let index = client.index("medical_records"); +index + .search() + .with_query("appointments") + .execute::() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_facet_search_1.mdx b/snippets/samples/code_samples_facet_search_1.mdx index dd2e10724..da8b4b9c9 100644 --- a/snippets/samples/code_samples_facet_search_1.mdx +++ b/snippets/samples/code_samples_facet_search_1.mdx @@ -60,6 +60,16 @@ var query = new SearchFacetsQuery() await client.Index("books").FacetSearchAsync("genres", query); ``` +```rust Rust +let res = client.index("books") + .facet_search("genres") + .with_facet_query("fiction") + .with_filter("rating > 3") + .execute() + .await + .unwrap(); +``` + ```dart Dart await client.index('books').facetSearch( FacetSearchQuery( diff --git a/snippets/samples/code_samples_facet_search_2.mdx b/snippets/samples/code_samples_facet_search_2.mdx index a5380a0ae..6f56f8435 100644 --- a/snippets/samples/code_samples_facet_search_2.mdx +++ b/snippets/samples/code_samples_facet_search_2.mdx @@ -62,6 +62,20 @@ var newFaceting = new Faceting await client.Index("books").UpdateFacetingAsync(newFaceting); ``` +```rust Rust +let mut facet_sort_setting = BTreeMap::new(); +facet_sort_setting.insert("genres".to_string(), FacetSortValue::Count); +let faceting = FacetingSettings { + max_values_per_facet: 100, + sort_facet_values_by: Some(facet_sort_setting), +}; + +let res = client.index("books") + .set_faceting(&faceting) + .await + .unwrap(); +``` + ```dart Dart await client.index('books').updateFaceting( Faceting( diff --git a/snippets/samples/code_samples_facet_search_3.mdx b/snippets/samples/code_samples_facet_search_3.mdx index e6fbb1894..f67d37302 100644 --- a/snippets/samples/code_samples_facet_search_3.mdx +++ b/snippets/samples/code_samples_facet_search_3.mdx @@ -53,6 +53,15 @@ var query = new SearchFacetsQuery() await client.Index("books").FacetSearchAsync("genres", query); ``` +```rust Rust +let res = client.index("books") + .facet_search("genres") + .with_facet_query("c") + .execute() + .await + .unwrap(); +``` + ```dart Dart await client.index('books').facetSearch( FacetSearchQuery( diff --git a/snippets/samples/code_samples_get_all_batches_1.mdx b/snippets/samples/code_samples_get_all_batches_1.mdx index bce94d986..403117765 100644 --- a/snippets/samples/code_samples_get_all_batches_1.mdx +++ b/snippets/samples/code_samples_get_all_batches_1.mdx @@ -20,4 +20,8 @@ $client->getBatches(); ```ruby Ruby client.batches ``` + +```go Go +client.GetBatches(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_batch_1.mdx b/snippets/samples/code_samples_get_batch_1.mdx index 7b9a8a94c..a7bc333b1 100644 --- a/snippets/samples/code_samples_get_batch_1.mdx +++ b/snippets/samples/code_samples_get_batch_1.mdx @@ -20,4 +20,8 @@ $client->getBatch(BATCH_UID); ```ruby Ruby client.batch(BATCH_UID) ``` + +```go Go +client.GetBatch(BATCH_UID); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_embedders_1.mdx b/snippets/samples/code_samples_get_embedders_1.mdx index d7deff5fc..96325ca5d 100644 --- a/snippets/samples/code_samples_get_embedders_1.mdx +++ b/snippets/samples/code_samples_get_embedders_1.mdx @@ -8,4 +8,8 @@ curl \ ```ruby Ruby client.index('INDEX_NAME').embedders ``` + +```rust Rust +let embedders = index.get_embedders().await.unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_facet_search_settings_1.mdx b/snippets/samples/code_samples_get_facet_search_settings_1.mdx index 8b2b15b7c..bfb04ecd9 100644 --- a/snippets/samples/code_samples_get_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_get_facet_search_settings_1.mdx @@ -24,4 +24,12 @@ client.index('INDEX_UID').facet_search_setting ```go Go client.Index("books").GetFacetSearch() ``` + +```rust Rust +let facet_search: bool = client + .index(INDEX_UID) + .get_facet_search() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_prefix_search_settings_1.mdx b/snippets/samples/code_samples_get_prefix_search_settings_1.mdx index 19b518df4..155d4eddb 100644 --- a/snippets/samples/code_samples_get_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_get_prefix_search_settings_1.mdx @@ -24,4 +24,12 @@ client.index('INDEX_UID').prefix_search ```go Go client.Index("books").GetPrefixSearch() ``` + +```rust Rust +let prefix_search: PrefixSearchSettings = client + .index(INDEX_UID) + .get_prefix_search() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_similar_post_1.mdx b/snippets/samples/code_samples_get_similar_post_1.mdx index a84416895..534a02785 100644 --- a/snippets/samples/code_samples_get_similar_post_1.mdx +++ b/snippets/samples/code_samples_get_similar_post_1.mdx @@ -39,4 +39,12 @@ client.Index("INDEX_NAME").SearchSimilarDocuments(&meilisearch.SimilarDocumentQu Embedder: "default", }, resp) ``` + +```rust Rust +let results = index + .similar_search("TARGET_DOCUMENT_ID", "EMBEDDER_NAME") + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_getting_started_add_documents.mdx b/snippets/samples/code_samples_getting_started_add_documents.mdx index 9d1256878..eeeb95f89 100644 --- a/snippets/samples/code_samples_getting_started_add_documents.mdx +++ b/snippets/samples/code_samples_getting_started_add_documents.mdx @@ -192,7 +192,7 @@ namespace Meilisearch_demo ```text Rust // In your .toml file: [dependencies] - meilisearch-sdk = "0.28.0" + meilisearch-sdk = "0.29.1" # futures: because we want to block on futures futures = "0.3" # serde: required if you are going to use documents diff --git a/snippets/samples/code_samples_getting_started_faceting.mdx b/snippets/samples/code_samples_getting_started_faceting.mdx index ccc590264..2461cbd02 100644 --- a/snippets/samples/code_samples_getting_started_faceting.mdx +++ b/snippets/samples/code_samples_getting_started_faceting.mdx @@ -78,8 +78,11 @@ await client.Index("movies").UpdateFacetingAsync(faceting); ``` ```rust Rust +let mut facet_sort_setting = BTreeMap::new(); +facet_sort_setting.insert("*".to_string(), FacetSortValue::Count); let mut faceting = FacetingSettings { max_values_per_facet: 2, + sort_facet_values_by: Some(facet_sort_setting), }; let task: TaskInfo = client diff --git a/snippets/samples/code_samples_index_settings_tutorial_api_get_setting_1.mdx b/snippets/samples/code_samples_index_settings_tutorial_api_get_setting_1.mdx index 897990733..b971e33ec 100644 --- a/snippets/samples/code_samples_index_settings_tutorial_api_get_setting_1.mdx +++ b/snippets/samples/code_samples_index_settings_tutorial_api_get_setting_1.mdx @@ -4,4 +4,11 @@ curl \ -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/searchable-attributes' ``` + +```rust Rust +let searchable_attributes: Vec = index + .get_searchable_attributes() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_index_settings_tutorial_api_put_setting_1.mdx b/snippets/samples/code_samples_index_settings_tutorial_api_put_setting_1.mdx index 66b6ffee9..f82116ae0 100644 --- a/snippets/samples/code_samples_index_settings_tutorial_api_put_setting_1.mdx +++ b/snippets/samples/code_samples_index_settings_tutorial_api_put_setting_1.mdx @@ -9,4 +9,11 @@ curl \ "overview" ]' ``` + +```rust Rust +let task = index + .set_searchable_attributes(["title", "overview"]) + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_index_settings_tutorial_api_task_1.mdx b/snippets/samples/code_samples_index_settings_tutorial_api_task_1.mdx index 84c80314e..2242766f4 100644 --- a/snippets/samples/code_samples_index_settings_tutorial_api_task_1.mdx +++ b/snippets/samples/code_samples_index_settings_tutorial_api_task_1.mdx @@ -4,4 +4,8 @@ curl \ -X GET 'MEILISEARCH_URL/tasks/TASK_UID' ``` + +```rust Rust +let task_status = index.get_task(&task).await.unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_negative_search_1.mdx b/snippets/samples/code_samples_negative_search_1.mdx index 213db2da5..d55e30b10 100644 --- a/snippets/samples/code_samples_negative_search_1.mdx +++ b/snippets/samples/code_samples_negative_search_1.mdx @@ -14,4 +14,12 @@ client.index('movies').search('-escape') ```php PHP $client->index('movies')->search('-escape'); ``` + +```rust Rust +let results = index.search() + .with_query("-escape") + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_negative_search_2.mdx b/snippets/samples/code_samples_negative_search_2.mdx index bd3146b38..f25dc2bba 100644 --- a/snippets/samples/code_samples_negative_search_2.mdx +++ b/snippets/samples/code_samples_negative_search_2.mdx @@ -14,4 +14,12 @@ client.index('movies').search('-"escape"') ```php PHP $client->index('movies')->search('-"escape"'); ``` + +```rust Rust +let results = index.search() + .with_query("-\"escape room\"") + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_related_results_embedder_1.mdx b/snippets/samples/code_samples_related_results_embedder_1.mdx index 5a66c2737..1f285b42d 100644 --- a/snippets/samples/code_samples_related_results_embedder_1.mdx +++ b/snippets/samples/code_samples_related_results_embedder_1.mdx @@ -15,4 +15,20 @@ curl -X PATCH 'MEILISEARCH_URL/indexes/movies/settings' } }' ``` + +```rust Rust +let embedders = HashMap::from([( + String::from("movies-text"), + Embedder { + source: EmbedderSource::OpenAi, + api_key: Some(String::from("OPENAI_API_KEY")), + model: Some(String::from("text-embedding-3-small")), + document_template: Some(String::from("A movie titled '{{doc.title}}' released in {{ doc.release_date }}. The movie genres are: {{doc.genres}}. The story is about: {{doc.overview|truncatewords: 20}}")), + ..Embedder::default() + } +)]); +movies.set_embedders(&embedders) + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_related_results_search_1.mdx b/snippets/samples/code_samples_related_results_search_1.mdx index c2ae498ed..38bb44ab5 100644 --- a/snippets/samples/code_samples_related_results_search_1.mdx +++ b/snippets/samples/code_samples_related_results_search_1.mdx @@ -11,4 +11,13 @@ curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ } }' ``` + +```rust Rust +let results = movies.search() + .with_query("batman") + .with_hybrid("EMBEDDER_NAME", 0.5) + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_related_results_similar_1.mdx b/snippets/samples/code_samples_related_results_similar_1.mdx index 8e263858a..24fbdbf35 100644 --- a/snippets/samples/code_samples_related_results_similar_1.mdx +++ b/snippets/samples/code_samples_related_results_similar_1.mdx @@ -10,4 +10,11 @@ curl \ "embedder": "EMBEDDER_NAME" }' ``` + +```rust Rust +let results = movies.similar_search("192", "EMBEDDER_NAME") + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_embedders_1.mdx b/snippets/samples/code_samples_reset_embedders_1.mdx index 77e8a2ff8..b9eaee801 100644 --- a/snippets/samples/code_samples_reset_embedders_1.mdx +++ b/snippets/samples/code_samples_reset_embedders_1.mdx @@ -8,4 +8,8 @@ curl \ ```ruby Ruby client.index('INDEX_NAME').reset_embedders ``` + +```rust Rust +index.reset_embedders().await.unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_facet_search_settings_1.mdx b/snippets/samples/code_samples_reset_facet_search_settings_1.mdx index 6b939a3d3..9591211ce 100644 --- a/snippets/samples/code_samples_reset_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_reset_facet_search_settings_1.mdx @@ -24,4 +24,12 @@ client.index('INDEX_UID').reset_facet_search_setting ```go Go client.Index("books").ResetFacetSearch() ``` + +```rust Rust +let task: TaskInfo = client + .index(INDEX_UID) + .reset_facet_search() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx b/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx index a4670ca9c..b161e68b3 100644 --- a/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx @@ -24,4 +24,12 @@ client.index('INDEX_UID').reset_prefix_search ```go Go client.Index("books").ResetPrefixSearch() ``` + +```rust Rust +let task: TaskInfo = client + .index(INDEX_UID) + .reset_prefix_search() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx b/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx index eb830e921..e61487848 100644 --- a/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx @@ -29,4 +29,14 @@ $client->index('INDEX_NAME')->search('kitchen utensils', [ ] ]); ``` + +```rust Rust +let results = index + .search() + .with_query("kitchen utensils") + .with_hybrid("EMBEDDER_NAME", 0.9) + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx b/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx index 3c1c97152..ad8a2c35a 100644 --- a/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx @@ -10,4 +10,14 @@ curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ } }' ``` + +```rust Rust +let results = index + .search() + .with_vector(&[0.0, 1.0, 2.0]) + .with_hybrid("EMBEDDER_NAME", 1.0) + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_search_parameter_reference_retrieve_vectors_1.mdx b/snippets/samples/code_samples_search_parameter_reference_retrieve_vectors_1.mdx index bb19be7a1..3aa36ee05 100644 --- a/snippets/samples/code_samples_search_parameter_reference_retrieve_vectors_1.mdx +++ b/snippets/samples/code_samples_search_parameter_reference_retrieve_vectors_1.mdx @@ -29,4 +29,15 @@ $client->index('INDEX_NAME')->search('kitchen utensils', [ ] ]); ``` + +```rust Rust +let results = index + .search() + .with_query("kitchen utensils") + .with_retrieve_vectors(true) + .with_hybrid("EMBEDDER_NAME", 0.5) + .execute() + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_search_post_1.mdx b/snippets/samples/code_samples_search_post_1.mdx index 3057177f4..dfb4452cb 100644 --- a/snippets/samples/code_samples_search_post_1.mdx +++ b/snippets/samples/code_samples_search_post_1.mdx @@ -39,7 +39,7 @@ await client.Index("movies").SearchAsync("American ninja"); let results: SearchResults = client .index("movies") .search() - .with_query("American ninja") + .with_query("american ninja") .execute() .await .unwrap(); diff --git a/snippets/samples/code_samples_update_embedders_1.mdx b/snippets/samples/code_samples_update_embedders_1.mdx index f8fb461ee..89c1458e1 100644 --- a/snippets/samples/code_samples_update_embedders_1.mdx +++ b/snippets/samples/code_samples_update_embedders_1.mdx @@ -46,4 +46,21 @@ client.index('INDEX_NAME').update_embedders( } ) ``` + +```rust Rust +let embedders = HashMap::from([( + String::from("default"), + Embedder { + source: EmbedderSource::OpenAi, + api_key: Some(String::from("OPEN_AI_API_KEY")), + model: Some(String::from("text-embedding-3-small")), + document_template: Some(String::from("A document titled '{{doc.title}}' whose description starts with {{doc.overview|truncatewords: 20}}")), + ..Embedder::default() + } +)]); +let task = index + .set_embedders(&embedders) + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_facet_search_settings_1.mdx b/snippets/samples/code_samples_update_facet_search_settings_1.mdx index bb7a7ac19..bbcbe5a39 100644 --- a/snippets/samples/code_samples_update_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_update_facet_search_settings_1.mdx @@ -26,4 +26,12 @@ client.index('INDEX_UID').update_facet_search_setting(false) ```go Go client.Index("books").UpdateFacetSearch(false) ``` + +```rust Rust +let task: TaskInfo = client + .index(INDEX_UID) + .set_facet_search(false) + .await + .unwrap(); +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_faceting_settings_1.mdx b/snippets/samples/code_samples_update_faceting_settings_1.mdx index b56548fe9..5c1ce28ef 100644 --- a/snippets/samples/code_samples_update_faceting_settings_1.mdx +++ b/snippets/samples/code_samples_update_faceting_settings_1.mdx @@ -85,8 +85,12 @@ await client.Index("books").UpdateFacetingAsync(faceting); ``` ```rust Rust +let mut facet_sort_setting = BTreeMap::new(); +facet_sort_setting.insert(String::from("*"), FacetSortValue::Alpha); +facet_sort_setting.insert(String::from("genres"), FacetSortValue::Count); let mut faceting = FacetingSettings { max_values_per_facet: 2, + sort_facet_values_by: Some(facet_sort_setting), }; let task: TaskInfo = client diff --git a/snippets/samples/code_samples_update_prefix_search_settings_1.mdx b/snippets/samples/code_samples_update_prefix_search_settings_1.mdx index 2f7f00d6a..4e4dcd1f6 100644 --- a/snippets/samples/code_samples_update_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_update_prefix_search_settings_1.mdx @@ -26,4 +26,12 @@ client.index('INDEX_UID').update_prefix_search('disabled') ```go Go client.Index("books").UpdatePrefixSearch("disabled") ``` + +```rust Rust +let task: TaskInfo = client + .index(INDEX_UID) + .set_prefix_search(PrefixSearchSettings::Disabled) + .await + .unwrap(); +``` \ No newline at end of file