From e62496883f54a9ed54d1c32394557eaf70d1707e Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Wed, 16 Jul 2025 14:15:58 +0200 Subject: [PATCH 01/16] bump version number --- docs.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs.json b/docs.json index a58aac938..268872406 100644 --- a/docs.json +++ b/docs.json @@ -143,7 +143,7 @@ "navigation": { "versions": [ { - "version": "v1.15", + "version": "v1.16", "anchors": [ { "anchor": "Learn", diff --git a/package.json b/package.json index 0ff347d2d..d7134aae3 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "1.15.0", + "version": "1.16.0", "homepage": "https://meilisearch.com/docs", "license": "MIT", "repository": "meilisearch/documentation", From 1df7c9724d7c0fd818643e274a70fd82102653bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 16 Jul 2025 12:21:16 +0000 Subject: [PATCH 02/16] 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..3aef704a2 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.0" # 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 From 5d40145cda68787eaa7a9750c045a8e4d8561bf3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 17 Jul 2025 15:53:42 +0000 Subject: [PATCH 03/16] Update code samples [skip ci] --- snippets/samples/code_samples_getting_started_add_documents.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/samples/code_samples_getting_started_add_documents.mdx b/snippets/samples/code_samples_getting_started_add_documents.mdx index 3aef704a2..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.29.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 From 48f4bdde138e7e65ced0589754c3ffc9b16eb2f5 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Mon, 28 Jul 2025 18:56:19 +0200 Subject: [PATCH 04/16] v1.16: Telemetry updates (#3325) --------- Co-authored-by: macraig --- learn/resources/telemetry.mdx | 9 ++++++++ .../code_samples_add_movies_json_1.mdx | 2 +- ...ode_samples_add_or_replace_documents_1.mdx | 2 +- ...code_samples_add_or_update_documents_1.mdx | 2 +- ...les_date_guide_filterable_attributes_1.mdx | 2 +- .../code_samples_date_guide_index_1.mdx | 2 +- ..._distinct_attribute_guide_filterable_1.mdx | 2 +- .../samples/code_samples_facet_search_3.mdx | 1 + ...mples_faceted_search_update_settings_1.mdx | 2 +- ...de_samples_filtering_update_settings_1.mdx | 2 +- ...ples_geosearch_guide_filter_settings_1.mdx | 2 +- ..._samples_getting_started_add_documents.mdx | 2 +- ...samples_getting_started_add_meteorites.mdx | 2 +- ...code_samples_landing_getting_started_1.mdx | 2 +- ...y_field_guide_add_document_primary_key.mdx | 3 ++- .../code_samples_typo_tolerance_guide_5.mdx | 6 +++++ ...samples_update_filterable_attributes_1.mdx | 22 ++++++++++++++++++- 17 files changed, 51 insertions(+), 14 deletions(-) diff --git a/learn/resources/telemetry.mdx b/learn/resources/telemetry.mdx index 263e55d4b..93674e8e9 100644 --- a/learn/resources/telemetry.mdx +++ b/learn/resources/telemetry.mdx @@ -225,6 +225,8 @@ This list is liable to change with every new version of Meilisearch. It's not be | `infos.experimental_edit_documents_by_function` | `true` if the `editDocumentsByFunction` experimental feature is enabled | false | `infos.experimental_enable_metrics` | `true` if `--experimental-enable-metrics` is specified at launch | false | `infos.experimental_embedding_cache_entries` | Size of configured embedding cache | 100 +| `infos.experimental_multimodal` | `true` when multimodal search feature is enabled | true | +| `infos.experimental_no_edition_2024_for_settings` | `true` if instance disabled new indexer | false | `infos.experimental_replication_parameters` | `true` if `--experimental-replication-parameters` is specified at launch | false | `infos.experimental_reduce_indexing_memory_usage` | `true` if `--experimental-reduce-indexing-memory-usage` is specified at launch | false | `infos.experimental_logs_mode` | `human` or `json` depending on the value specified | human @@ -248,6 +250,7 @@ This list is liable to change with every new version of Meilisearch. It's not be | `vector.retrieve_vectors` | `true` if the retrieve_vectors parameter has been used in this batch. | false | `hybrid.enabled` | `true` if hybrid search been used in the aggregated event | true | `hybrid.semantic_ratio` | `true` if semanticRatio was used in this batch, otherwise false | false +| `hybrid.total_media` | Aggregated number of search requests where `media` is not `null` | 42 | `embedders.total` | Numbers of defined embedders | 2 | `embedders.sources` | An array representing the different provided sources | ["huggingFace", "userProvided"] | `embedders.document_template_used` | A boolean indicating if one of the provided embedders has a custom template defined | true @@ -264,3 +267,9 @@ This list is liable to change with every new version of Meilisearch. It's not be | `experimental_network` | `true` when the network experimental feature is enabled | true | `remotes.total_distinct_remote_count` | Sum of the number of distinct remotes appearing in each search request of the aggregate | 48 | `remotes.avg_distinct_remote_count` | Average number of distinct remotes appearing in a search request of the aggregate | 2.33 +| `multimodal` | `true` when multimodal search is enabled via the `/experimental-features` route | true +| `export.total_received` | Number of exports received in this batch | `152` +| `export.has_api_key` | Number of exports with an API Key set | `89` +| `export.avg_index_patterns` | Average number of index patterns set per export | `3.2` +| `export.avg_patterns_with_filter` | Average number of index patterns with filters per export | `1.7` +| `export.avg_payload_size` | Average payload size per export | `512` diff --git a/snippets/samples/code_samples_add_movies_json_1.mdx b/snippets/samples/code_samples_add_movies_json_1.mdx index 414246df0..068206c70 100644 --- a/snippets/samples/code_samples_add_movies_json_1.mdx +++ b/snippets/samples/code_samples_add_movies_json_1.mdx @@ -59,7 +59,7 @@ file, _ := os.ReadFile("movies.json") var movies interface{} json.Unmarshal([]byte(file), &movies) -client.Index("movies").AddDocuments(&movies) +client.Index("movies").AddDocuments(&movies, nil) ``` ```csharp C# diff --git a/snippets/samples/code_samples_add_or_replace_documents_1.mdx b/snippets/samples/code_samples_add_or_replace_documents_1.mdx index 13ae38b9d..7d9fb5a7f 100644 --- a/snippets/samples/code_samples_add_or_replace_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_replace_documents_1.mdx @@ -80,7 +80,7 @@ documents := []map[string]interface{}{ "release_date": "2019-03-23", }, } -client.Index("movies").AddDocuments(documents) +client.Index("movies").AddDocuments(documents, nil) ``` ```csharp C# diff --git a/snippets/samples/code_samples_add_or_update_documents_1.mdx b/snippets/samples/code_samples_add_or_update_documents_1.mdx index a3c1cd3dd..53a1dd526 100644 --- a/snippets/samples/code_samples_add_or_update_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_update_documents_1.mdx @@ -66,7 +66,7 @@ documents := []map[string]interface{}{ "genres": "comedy", }, } -client.Index("movies").UpdateDocuments(documents) +client.Index("movies").UpdateDocuments(documents, nil) ``` ```csharp C# diff --git a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx index 2fe51dc2b..98595a358 100644 --- a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx @@ -30,7 +30,7 @@ client.index('games').update_filterable_attributes(['release_timestamp']) ``` ```go Go -filterableAttributes := []string{"release_timestamp"} +filterableAttributes := []interface{}{"release_timestamp"} client.Index("games").UpdateFilterableAttributes(&filterableAttributes) ``` diff --git a/snippets/samples/code_samples_date_guide_index_1.mdx b/snippets/samples/code_samples_date_guide_index_1.mdx index 1f22bd3bd..4f89b156e 100644 --- a/snippets/samples/code_samples_date_guide_index_1.mdx +++ b/snippets/samples/code_samples_date_guide_index_1.mdx @@ -54,7 +54,7 @@ byteValue, _ := io.ReadAll(jsonFile) var games []map[string]interface{} json.Unmarshal(byteValue, &games) -client.Index("games").AddDocuments(games) +client.Index("games").AddDocuments(games, nil) ``` ```csharp C# diff --git a/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx index 60e30700b..7412dfadb 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx @@ -38,7 +38,7 @@ client.index('products').update_filterable_attributes([ ``` ```go Go -filterableAttributes := []string{ +filterableAttributes := []interface{}{ "product_id", "sku", "url", diff --git a/snippets/samples/code_samples_facet_search_3.mdx b/snippets/samples/code_samples_facet_search_3.mdx index f67d37302..70c2bcdc9 100644 --- a/snippets/samples/code_samples_facet_search_3.mdx +++ b/snippets/samples/code_samples_facet_search_3.mdx @@ -42,6 +42,7 @@ client.index('books').facet_search('genres', 'c') client.Index("books").FacetSearch(&meilisearch.FacetSearchRequest{ FacetQuery: "c", FacetName: "genres", + ExhaustiveFacetCount: true }) ``` diff --git a/snippets/samples/code_samples_faceted_search_update_settings_1.mdx b/snippets/samples/code_samples_faceted_search_update_settings_1.mdx index 9c7b7d243..7b5255a44 100644 --- a/snippets/samples/code_samples_faceted_search_update_settings_1.mdx +++ b/snippets/samples/code_samples_faceted_search_update_settings_1.mdx @@ -34,7 +34,7 @@ client.index('movie_ratings').update_filterable_attributes(['genres', 'rating', ``` ```go Go -filterableAttributes := []string{ +filterableAttributes := []interface{}{ "genres", "rating", "language", diff --git a/snippets/samples/code_samples_filtering_update_settings_1.mdx b/snippets/samples/code_samples_filtering_update_settings_1.mdx index b73c1095b..9ecaed4cf 100644 --- a/snippets/samples/code_samples_filtering_update_settings_1.mdx +++ b/snippets/samples/code_samples_filtering_update_settings_1.mdx @@ -47,7 +47,7 @@ client.index('movies').update_filterable_attributes([ ``` ```go Go -resp, err := client.Index("movies").UpdateFilterableAttributes(&[]string{ +resp, err := client.Index("movies").UpdateFilterableAttributes(&[]interface{}{ "director", "genres", }) diff --git a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx index 79aa98f98..32732e600 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx @@ -37,7 +37,7 @@ client.index('restaurants').update_filterable_attributes(['_geo']) ``` ```go Go -filterableAttributes := []string{ +filterableAttributes := []interface{}{ "_geo", } client.Index("restaurants").UpdateFilterableAttributes(&filterableAttributes) diff --git a/snippets/samples/code_samples_getting_started_add_documents.mdx b/snippets/samples/code_samples_getting_started_add_documents.mdx index eeeb95f89..9a2a53b20 100644 --- a/snippets/samples/code_samples_getting_started_add_documents.mdx +++ b/snippets/samples/code_samples_getting_started_add_documents.mdx @@ -140,7 +140,7 @@ func main() { var movies []map[string]interface{} json.Unmarshal(byteValue, &movies) - _, err := client.Index("movies").AddDocuments(movies) + _, err := client.Index("movies").AddDocuments(movies, nil) if err != nil { panic(err) } diff --git a/snippets/samples/code_samples_getting_started_add_meteorites.mdx b/snippets/samples/code_samples_getting_started_add_meteorites.mdx index 90a4cf556..77373581e 100644 --- a/snippets/samples/code_samples_getting_started_add_meteorites.mdx +++ b/snippets/samples/code_samples_getting_started_add_meteorites.mdx @@ -60,7 +60,7 @@ byteValue, _ := io.ReadAll(jsonFile) var meteorites []map[string]interface{} json.Unmarshal(byteValue, &meteorites) -client.Index("meteorites").AddDocuments(meteorites) +client.Index("meteorites").AddDocuments(meteorites, nil) ``` ```csharp C# diff --git a/snippets/samples/code_samples_landing_getting_started_1.mdx b/snippets/samples/code_samples_landing_getting_started_1.mdx index 49d15df9e..b353fed74 100644 --- a/snippets/samples/code_samples_landing_getting_started_1.mdx +++ b/snippets/samples/code_samples_landing_getting_started_1.mdx @@ -81,7 +81,7 @@ documents := []map[string]interface{}{ { "id": 5, "title": "Moana" }, { "id": 6, "title": "Philadelphia" }, } -client.Index("movies").AddDocuments(documents) +client.Index("movies").AddDocuments(documents, nil) ``` ```csharp C# diff --git a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx index 1c30ac801..6d8ecc627 100644 --- a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx @@ -85,7 +85,8 @@ documents := []map[string]interface{}{ "price": 5.00, }, } -client.Index("books").AddDocuments(documents, "reference_number") +refrenceNumber := "reference_number" +client.Index("books").AddDocuments(documents, &refrenceNumber) ``` ```csharp C# diff --git a/snippets/samples/code_samples_typo_tolerance_guide_5.mdx b/snippets/samples/code_samples_typo_tolerance_guide_5.mdx index 6733ece79..55582c22b 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_5.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_5.mdx @@ -26,4 +26,10 @@ $client->index('movies')->updateTypoTolerance([ 'disableOnNumbers' => true ]); ``` + +```go Go +client.Index("movies").UpdateTypoTolerance(&meilisearch.TypoTolerance{ + DisableOnNumbers: true +}) +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_filterable_attributes_1.mdx b/snippets/samples/code_samples_update_filterable_attributes_1.mdx index e5319e8fe..280180ef9 100644 --- a/snippets/samples/code_samples_update_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_filterable_attributes_1.mdx @@ -71,9 +71,29 @@ client.index('movies').update_filterable_attributes([ ``` ```go Go -filterableAttributes := []string{ +filterableAttributes := []interface{}{ "genres", "director", + AttributeRule{ + AttributePatterns: []string{"tag"} + Features: AttributeFeatures{ + FacetSearch: false, + Filter: FilterFeatures{ + Equality: true, + Comparison: false, + } + } + }, + map[string]interface{}{ + "attributePatterns": []interface{}{"year"} + "features": map[string]interface{}{ + "facetSearch": false, + "filter": map[string]interface{}{ + "equality": true, + "comparison": true, + } + } + } } client.Index("movies").UpdateFilterableAttributes(&filterableAttributes) ``` From 01a550e03e348682bf24c75250aa9c59440f1d78 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Mon, 28 Jul 2025 18:57:02 +0200 Subject: [PATCH 05/16] v1.16: Experimental: Disable new indexer (#3313) --- learn/resources/experimental_features_overview.mdx | 1 + .../self_hosted/configure_meilisearch_at_launch.mdx | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/learn/resources/experimental_features_overview.mdx b/learn/resources/experimental_features_overview.mdx index c245ee2aa..90a16a8b1 100644 --- a/learn/resources/experimental_features_overview.mdx +++ b/learn/resources/experimental_features_overview.mdx @@ -59,3 +59,4 @@ Activating or deactivating experimental features this way does not require you t | [Search query embedding cache](/learn/self_hosted/configure_meilisearch_at_launch#search-query-embedding-cache) | Enable a cache for search query embeddings | CLI flag or environment variable | | [Uncompressed snapshots](/learn/self_hosted/configure_meilisearch_at_launch#uncompressed-snapshots) | Disable snapshot compaction | CLI flag or environment variable | | [Maximum batch payload size](/learn/self_hosted/configure_meilisearch_at_launch#maximum-batch-payload-size) | Limit batch payload size | CLI flag or environment variable | +| [Disable new indexer](/learn/self_hosted/configure_meilisearch_at_launch) | Use previous settings indexer | CLI flag or environment variable | diff --git a/learn/self_hosted/configure_meilisearch_at_launch.mdx b/learn/self_hosted/configure_meilisearch_at_launch.mdx index 48d9540b7..5bd0c3dc1 100644 --- a/learn/self_hosted/configure_meilisearch_at_launch.mdx +++ b/learn/self_hosted/configure_meilisearch_at_launch.mdx @@ -538,6 +538,18 @@ Helps running Meilisearch in cluster environments. It does this by modifying tas - Allows you to manually set task uids by adding a custom `TaskId` header to your API requests - Allows you to dry register tasks by specifying a `DryRun: true` header in your request +### Disable new indexer + + +🚩 This option does not take any values. Assigning a value will throw an error. 🚩 + + +**Environment variable**: `MEILI_EXPERIMENTAL_NO_EDITION_2024_FOR_SETTINGS`
+**CLI option**: `--experimental-no-edition-2024-for-settings`
+**Default value**: `None`
+ +Falls back to previous settings indexer. + ### SSL options #### SSL authentication path From 4d5f14e0696524e5b2444efb016ddc5658023120 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Mon, 28 Jul 2025 18:57:40 +0200 Subject: [PATCH 06/16] v1.16: Bump Docker image tag version (#3323) --- guides/docker.mdx | 16 ++++++++-------- .../self_hosted/install_meilisearch_locally.mdx | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/guides/docker.mdx b/guides/docker.mdx index 410bce2a4..76c0f6f08 100644 --- a/guides/docker.mdx +++ b/guides/docker.mdx @@ -12,7 +12,7 @@ Docker is a tool that bundles applications into containers. Docker containers en Docker containers are distributed in images. To use Meilisearch, use the `docker pull` command to download a Meilisearch image: ```sh -docker pull getmeili/meilisearch:v1.15 +docker pull getmeili/meilisearch:v1.16 ``` Meilisearch deploys a new Docker image with every release of the engine. Each image is tagged with the corresponding Meilisearch version, indicated in the above example by the text following the `:` symbol. You can see [the full list of available Meilisearch Docker images](https://hub.docker.com/r/getmeili/meilisearch/tags#!) on Docker Hub. @@ -29,7 +29,7 @@ After completing the previous step, use `docker run` to launch the Meilisearch i docker run -it --rm \ -p 7700:7700 \ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 + getmeili/meilisearch:v1.16 ``` ### Configure Meilisearch @@ -45,7 +45,7 @@ docker run -it --rm \ -p 7700:7700 \ -e MEILI_MASTER_KEY='MASTER_KEY'\ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 + getmeili/meilisearch:v1.16 ``` #### Passing instance options with CLI arguments @@ -56,7 +56,7 @@ If you want to pass command-line arguments to Meilisearch with Docker, you must docker run -it --rm \ -p 7700:7700 \ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 \ + getmeili/meilisearch:v1.16 \ meilisearch --master-key="MASTER_KEY" ``` @@ -74,7 +74,7 @@ To keep your data intact between reboots, specify a dedicated volume by running docker run -it --rm \ -p 7700:7700 \ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 + getmeili/meilisearch:v1.16 ``` The example above uses `$(pwd)/meili_data`, which is a directory in the host machine. Depending on your OS, mounting volumes from the host to the container might result in performance loss and is only recommended when developing your application. @@ -89,7 +89,7 @@ To import a dump, use Meilisearch's `--import-dump` command-line option and spec docker run -it --rm \ -p 7700:7700 \ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 \ + getmeili/meilisearch:v1.16 \ meilisearch --import-dump /meili_data/dumps/20200813-042312213.dump ``` @@ -109,7 +109,7 @@ To generate a Meilisearch snapshot with Docker, launch Meilisearch with `--sched docker run -it --rm \ -p 7700:7700 \ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 \ + getmeili/meilisearch:v1.16 \ meilisearch --schedule-snapshot --snapshot-dir /meili_data/snapshots ``` @@ -121,7 +121,7 @@ To import a snapshot, launch Meilisearch with the `--import-snapshot` option: docker run -it --rm \ -p 7700:7700 \ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 \ + getmeili/meilisearch:v1.16 \ meilisearch --import-snapshot /meili_data/snapshots/data.ms.snapshot ``` diff --git a/learn/self_hosted/install_meilisearch_locally.mdx b/learn/self_hosted/install_meilisearch_locally.mdx index c93fc9ddc..7cb35f5f6 100644 --- a/learn/self_hosted/install_meilisearch_locally.mdx +++ b/learn/self_hosted/install_meilisearch_locally.mdx @@ -53,14 +53,14 @@ These commands launch the **latest stable release** of Meilisearch. ```bash # Fetch the latest version of Meilisearch image from DockerHub -docker pull getmeili/meilisearch:v1.15 +docker pull getmeili/meilisearch:v1.16 # Launch Meilisearch in development mode with a master key docker run -it --rm \ -p 7700:7700 \ -e MEILI_ENV='development' \ -v $(pwd)/meili_data:/meili_data \ - getmeili/meilisearch:v1.15 + getmeili/meilisearch:v1.16 # Use ${pwd} instead of $(pwd) in PowerShell ``` From 1508511065a129de2850f4bd6b97727faec5d981 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Mon, 28 Jul 2025 18:58:05 +0200 Subject: [PATCH 07/16] v1.16: Add `sort` parameter to `/documents` route (#3318) --- reference/api/documents.mdx | 3 +++ reference/errors/error_codes.mdx | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/reference/api/documents.mdx b/reference/api/documents.mdx index ab49ac0ac..4d8381b99 100644 --- a/reference/api/documents.mdx +++ b/reference/api/documents.mdx @@ -48,6 +48,8 @@ Use `offset` and `limit` to browse through documents. | **`fields`** | Array of strings/`null` | `*` | Document attributes to show (case-sensitive, comma-separated) | | **`filter`** | String/Array of array of strings/`null` | N/A | Refine results based on attributes in the `filterableAttributes` list | | **`retrieveVectors`** | Boolean | `false` | Return document vector data with search result | +| **`sort`** | `null` | A list of attributes written as an array or as a comma-separated string | + | **`ids`** | Array of primary keys | `null` | Return documents based on their primary keys | @@ -137,6 +139,7 @@ Using the query parameters `offset` and `limit`, you can browse through all your | **`fields`** | `*` | Document attributes to show (case-sensitive, comma-separated) | | **`filter`** | N/A | Refine results based on attributes in the `filterableAttributes` list | | **`retrieveVectors`** | `false` | Return document vector data with search result | +| **`sort`** | `null` | A list of comma-separated attributes | | **`ids`** | `null` | Return documents based on their primary keys | ### Response diff --git a/reference/errors/error_codes.mdx b/reference/errors/error_codes.mdx index ddd649862..bf4c8dd1f 100644 --- a/reference/errors/error_codes.mdx +++ b/reference/errors/error_codes.mdx @@ -180,6 +180,14 @@ The [`limit`](/reference/api/documents#query-parameters) parameter is invalid. I The [`offset`](/reference/api/documents#query-parameters) parameter is invalid. It should be an integer. +## `invalid_document_sort` + +This error occurs if: + +- The syntax for the [`sort`](/reference/api/documents#body) parameter is invalid +- The attribute used for sorting is not defined in the [`sortableAttributes`](/reference/api/settings#sortable-attributes) list or the `sort` ranking rule is missing from the settings +- A reserved keyword like `_geo`, `_geoDistance`, `_geoRadius`, or `_geoBoundingBox` is used as a filter + ## `invalid_document_geo_field` The provided `_geo` field of one or more documents is invalid. Meilisearch expects `_geo` to be an object with two fields, `lat` and `lng`, each containing geographic coordinates expressed as a string or floating point number. Read more about `_geo` and how to troubleshoot it in [our dedicated guide](/learn/filtering_and_sorting/geosearch). From 4280a4dc86345f011318ab2895d7982902e1be1a Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Tue, 29 Jul 2025 18:25:01 +0200 Subject: [PATCH 08/16] v1.16: `rankingScoreThreshold` no longer affects `totalHits` accuracy (#3322) --------- Co-authored-by: Mubelotix --- reference/api/search.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/reference/api/search.mdx b/reference/api/search.mdx index c5aeafa0b..f8eadca88 100644 --- a/reference/api/search.mdx +++ b/reference/api/search.mdx @@ -1141,7 +1141,9 @@ Excludes results below the specified ranking score. Excluded results do not count towards `estimatedTotalHits`, `totalHits`, and facet distribution. -For performance reasons, if the number of documents above `rankingScoreThreshold` is higher than `limit`, Meilisearch does not evaluate the ranking score of the remaining documents. Results ranking below the threshold are not immediately removed from the set of candidates. In this case, Meilisearch may overestimate the count of `estimatedTotalHits`, `totalHits` and facet distribution. +Using `rankingScoreThreshold` with `page` and `hitsPerPage` forces Meilisearch to evaluate the ranking score of all matching documents to return an accurate `totalHits`. This may negatively impact search performance. + +Queries with `limit` and `offset` avoid this overhead when using `rankingScoreThreshold`. #### Example From cfde27199028956b00a8780a56f9a81b0051da39 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Tue, 29 Jul 2025 18:26:32 +0200 Subject: [PATCH 09/16] V1.16: Update `/batches` response (#3314) --------- Co-authored-by: Mubelotix --- 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..b73a32222 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\"}`" + } }, "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 requests, 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\"}`" + } }, "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\"}`" } }, "duration": "PT0.364788S", From c1402b723af00f281c760c7c7f03742d2fdb8a2e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 29 Jul 2025 16:26:52 +0000 Subject: [PATCH 10/16] Update code samples [skip ci] --- .../code_samples_add_movies_json_1.mdx | 14 ------- ...ode_samples_add_or_replace_documents_1.mdx | 24 ----------- ...code_samples_add_or_update_documents_1.mdx | 22 ---------- ...e_samples_async_guide_filter_by_date_1.mdx | 11 ----- ...de_samples_async_guide_filter_by_ids_1.mdx | 11 ----- ...les_async_guide_filter_by_index_uids_1.mdx | 11 ----- ...mples_async_guide_filter_by_statuses_1.mdx | 11 ----- ..._samples_async_guide_filter_by_types_1.mdx | 11 ----- ...samples_async_guide_multiple_filters_1.mdx | 11 ----- .../code_samples_authorization_header_1.mdx | 12 ------ .../samples/code_samples_cancel_tasks_1.mdx | 11 ----- .../samples/code_samples_create_a_key_1.mdx | 17 -------- .../code_samples_create_an_index_1.mdx | 11 ----- .../code_samples_create_snapshot_1.mdx | 4 -- .../code_samples_date_guide_filter_1.mdx | 15 ------- ...les_date_guide_filterable_attributes_1.mdx | 11 ----- .../code_samples_date_guide_index_1.mdx | 14 ------- .../code_samples_date_guide_sort_1.mdx | 16 -------- ...mples_date_guide_sortable_attributes_1.mdx | 11 ----- .../samples/code_samples_delete_a_key_1.mdx | 11 ----- .../code_samples_delete_all_documents_1.mdx | 11 ----- .../code_samples_delete_an_index_1.mdx | 11 ----- .../code_samples_delete_one_document_1.mdx | 11 ----- .../samples/code_samples_delete_tasks_1.mdx | 11 ----- ...ode_samples_distinct_attribute_guide_1.mdx | 11 ----- ...es_faceted_search_walkthrough_filter_1.mdx | 20 --------- ...les_field_properties_guide_displayed_1.mdx | 17 -------- ...es_field_properties_guide_searchable_1.mdx | 16 -------- .../code_samples_filtering_guide_1.mdx | 15 ------- .../code_samples_filtering_guide_2.mdx | 14 ------- .../code_samples_filtering_guide_3.mdx | 14 ------- .../code_samples_filtering_guide_nested_1.mdx | 15 ------- ...de_samples_filtering_update_settings_1.mdx | 11 ----- ...ples_geosearch_guide_filter_settings_1.mdx | 11 ----- ...samples_geosearch_guide_filter_usage_1.mdx | 14 ------- ...samples_geosearch_guide_filter_usage_2.mdx | 14 ------- ...samples_geosearch_guide_filter_usage_3.mdx | 14 ------- ...amples_geosearch_guide_sort_settings_1.mdx | 11 ----- ...e_samples_geosearch_guide_sort_usage_1.mdx | 15 ------- ...e_samples_geosearch_guide_sort_usage_2.mdx | 15 ------- .../samples/code_samples_get_all_keys_1.mdx | 11 ----- .../samples/code_samples_get_all_tasks_1.mdx | 11 ----- ...ode_samples_get_all_tasks_paginating_1.mdx | 11 ----- ...ode_samples_get_all_tasks_paginating_2.mdx | 11 ----- .../samples/code_samples_get_dictionary_1.mdx | 6 --- ...ode_samples_get_displayed_attributes_1.mdx | 11 ----- .../code_samples_get_distinct_attribute_1.mdx | 11 ----- .../samples/code_samples_get_documents_1.mdx | 11 ----- ...de_samples_get_filterable_attributes_1.mdx | 11 ----- .../samples/code_samples_get_health_1.mdx | 11 ----- .../code_samples_get_index_stats_1.mdx | 11 ----- .../code_samples_get_indexes_stats_1.mdx | 11 ----- ...ode_samples_get_non_separator_tokens_1.mdx | 6 --- .../code_samples_get_one_document_1.mdx | 11 ----- .../samples/code_samples_get_one_index_1.mdx | 11 ----- .../samples/code_samples_get_one_key_1.mdx | 11 ----- ...les_get_proximity_precision_settings_1.mdx | 4 -- .../code_samples_get_ranking_rules_1.mdx | 11 ----- .../code_samples_get_search_cutoff_1.mdx | 4 -- ...de_samples_get_searchable_attributes_1.mdx | 11 ----- .../code_samples_get_separator_tokens_1.mdx | 6 --- .../samples/code_samples_get_settings_1.mdx | 11 ----- ...code_samples_get_sortable_attributes_1.mdx | 11 ----- .../samples/code_samples_get_stop_words_1.mdx | 11 ----- .../samples/code_samples_get_synonyms_1.mdx | 11 ----- snippets/samples/code_samples_get_task_1.mdx | 11 ----- .../samples/code_samples_get_version_1.mdx | 11 ----- ..._samples_getting_started_add_documents.mdx | 21 ---------- ...samples_getting_started_add_meteorites.mdx | 15 ------- ...ples_getting_started_check_task_status.mdx | 11 ----- ...les_getting_started_configure_settings.mdx | 15 ------- .../code_samples_getting_started_faceting.mdx | 4 -- ...code_samples_getting_started_filtering.mdx | 15 ------- ...code_samples_getting_started_geo_point.mdx | 15 ------- ...ode_samples_getting_started_geo_radius.mdx | 15 ------- ...ode_samples_getting_started_pagination.mdx | 4 -- .../code_samples_getting_started_search.mdx | 11 ----- .../code_samples_getting_started_sorting.mdx | 16 -------- .../code_samples_getting_started_synonyms.mdx | 15 ------- ...samples_getting_started_typo_tolerance.mdx | 4 -- ...ng_started_update_displayed_attributes.mdx | 12 ------ ...s_getting_started_update_ranking_rules.mdx | 21 ---------- ...g_started_update_searchable_attributes.mdx | 12 ------ ...ples_getting_started_update_stop_words.mdx | 12 ------ ...code_samples_landing_getting_started_1.mdx | 23 ----------- .../code_samples_list_all_indexes_1.mdx | 11 ----- .../samples/code_samples_phrase_search_1.mdx | 13 ------ snippets/samples/code_samples_post_dump_1.mdx | 11 ----- ...y_field_guide_add_document_primary_key.mdx | 23 ----------- ...y_field_guide_create_index_primary_key.mdx | 11 ----- ...ield_guide_update_document_primary_key.mdx | 11 ----- .../code_samples_reset_dictionary_1.mdx | 6 --- ...e_samples_reset_displayed_attributes_1.mdx | 11 ----- ...ode_samples_reset_distinct_attribute_1.mdx | 11 ----- ..._samples_reset_filterable_attributes_1.mdx | 11 ----- ...e_samples_reset_non_separator_tokens_1.mdx | 6 --- ...s_reset_proximity_precision_settings_1.mdx | 4 -- .../code_samples_reset_ranking_rules_1.mdx | 11 ----- .../code_samples_reset_search_cutoff_1.mdx | 4 -- ..._samples_reset_searchable_attributes_1.mdx | 11 ----- .../code_samples_reset_separator_tokens_1.mdx | 6 --- .../samples/code_samples_reset_settings_1.mdx | 11 ----- ...de_samples_reset_sortable_attributes_1.mdx | 11 ----- .../code_samples_reset_stop_words_1.mdx | 11 ----- .../samples/code_samples_reset_synonyms_1.mdx | 11 ----- ...ameter_guide_attributes_to_search_on_1.mdx | 12 ------ ..._samples_search_parameter_guide_crop_1.mdx | 15 ------- ...s_search_parameter_guide_crop_marker_1.mdx | 15 ------- ...les_search_parameter_guide_highlight_1.mdx | 14 ------- ...search_parameter_guide_highlight_tag_1.mdx | 16 -------- ...s_search_parameter_guide_hitsperpage_1.mdx | 12 ------ ...samples_search_parameter_guide_limit_1.mdx | 14 ------- ...amples_search_parameter_guide_offset_1.mdx | 14 ------- ..._samples_search_parameter_guide_page_1.mdx | 12 ------ ...samples_search_parameter_guide_query_1.mdx | 11 ----- ...ples_search_parameter_guide_retrieve_1.mdx | 14 ------- ...arameter_guide_show_matches_position_1.mdx | 14 ------- ...h_parameter_guide_show_ranking_score_1.mdx | 12 ------ ...ter_guide_show_ranking_score_details_1.mdx | 5 --- ..._samples_search_parameter_guide_sort_1.mdx | 15 ------- .../samples/code_samples_search_post_1.mdx | 12 ------ ...de_samples_security_guide_create_key_1.mdx | 19 --------- ...de_samples_security_guide_delete_key_1.mdx | 13 ------ ...ode_samples_security_guide_list_keys_1.mdx | 13 ------ ...de_samples_security_guide_search_key_1.mdx | 13 ------ ...de_samples_security_guide_update_key_1.mdx | 14 ------- ...de_samples_sorting_guide_sort_nested_1.mdx | 15 ------- ...samples_sorting_guide_sort_parameter_1.mdx | 15 ------- ...samples_sorting_guide_sort_parameter_2.mdx | 15 ------- ...s_sorting_guide_update_ranking_rules_1.mdx | 19 --------- ...ing_guide_update_sortable_attributes_1.mdx | 11 ----- .../samples/code_samples_swap_indexes_1.mdx | 7 ---- .../samples/code_samples_synonyms_guide_1.mdx | 16 -------- .../samples/code_samples_update_a_key_1.mdx | 16 -------- .../code_samples_update_an_index_1.mdx | 11 ----- .../code_samples_update_dictionary_1.mdx | 6 --- ..._samples_update_displayed_attributes_1.mdx | 12 ------ ...de_samples_update_distinct_attribute_1.mdx | 11 ----- ...samples_update_filterable_attributes_1.mdx | 11 ----- ..._samples_update_non_separator_tokens_1.mdx | 6 --- ..._update_proximity_precision_settings_1.mdx | 4 -- .../code_samples_update_ranking_rules_1.mdx | 21 ---------- .../code_samples_update_search_cutoff_1.mdx | 4 -- ...samples_update_searchable_attributes_1.mdx | 12 ------ ...code_samples_update_separator_tokens_1.mdx | 6 --- .../code_samples_update_settings_1.mdx | 41 ------------------- ...e_samples_update_sortable_attributes_1.mdx | 11 ----- .../code_samples_update_stop_words_1.mdx | 12 ------ .../code_samples_update_synonyms_1.mdx | 16 -------- 149 files changed, 1821 deletions(-) diff --git a/snippets/samples/code_samples_add_movies_json_1.mdx b/snippets/samples/code_samples_add_movies_json_1.mdx index 068206c70..7248a315f 100644 --- a/snippets/samples/code_samples_add_movies_json_1.mdx +++ b/snippets/samples/code_samples_add_movies_json_1.mdx @@ -103,20 +103,6 @@ fn main() { block_on(async move { })} ``` -```swift Swift -let path = Bundle.main.url(forResource: "movies", withExtension: "json")! -let documents: Data = try Data(contentsOf: path) - -client.index("movies").addDocuments(documents: documents) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart // import 'dart:io'; // import 'dart:convert'; diff --git a/snippets/samples/code_samples_add_or_replace_documents_1.mdx b/snippets/samples/code_samples_add_or_replace_documents_1.mdx index 7d9fb5a7f..c830270cb 100644 --- a/snippets/samples/code_samples_add_or_replace_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_replace_documents_1.mdx @@ -114,30 +114,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let documentJsonString = """ -[ - { - "reference_number": 287947, - "title": "Shazam", - "poster": "https://image.tmdb.org/t/p/w1280/xnopI5Xtky18MPhK40cZAGAOVeV.jpg", - "overview": "A boy is given the ability to become an adult superhero in times of need with a single magic word.", - "release_date": "2019-03-23" - } -] -""" -let documents: Data = documentJsonString.data(using: .utf8)! - -client.index("movies").addDocuments(documents: documents) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').addDocuments([ { diff --git a/snippets/samples/code_samples_add_or_update_documents_1.mdx b/snippets/samples/code_samples_add_or_update_documents_1.mdx index 53a1dd526..7540528a4 100644 --- a/snippets/samples/code_samples_add_or_update_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_update_documents_1.mdx @@ -97,28 +97,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let documentJsonString = """ -[ - { - "reference_number": 287947, - "title": "Shazam ⚡️", - "genres": "comedy" - } -] -""" -let documents: Data = documentJsonString.data(using: .utf8)! - -client.index("movies").updateDocuments(documents: documents) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateDocuments([ { diff --git a/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx index 71dde2562..0d0b199e9 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx @@ -48,17 +48,6 @@ let tasks = query .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(afterEnqueuedAt: dateFormatter.date(from: "2020-10-11T11:49:53.000Z"))) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx index 6cb6ea208..7598b725e 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx @@ -40,17 +40,6 @@ let tasks = query .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(uids: [5, 10, 13])) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx index 93f6a2f07..7b0d0ad78 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx @@ -40,17 +40,6 @@ let tasks = query .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(indexUids: ["movies"])) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks(params: TasksQuery(indexUids: ['movies'])); ``` 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 609fe90cb..81182ac75 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 @@ -48,17 +48,6 @@ let tasks = query .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(statuses: [.failed, .canceled])) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx index ae03564fb..c7e2d4029 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx @@ -43,17 +43,6 @@ let tasks = query .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(types: [.dumpCreation, .indexSwap])) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx b/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx index 8e8a326a6..7c57f0647 100644 --- a/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx +++ b/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx @@ -76,17 +76,6 @@ let tasks = query .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(indexUids: "movies", types: ["documentAdditionOrUpdate", "documentDeletion"], statuses: ["processing"])) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_authorization_header_1.mdx b/snippets/samples/code_samples_authorization_header_1.mdx index 97607e267..f616b1ca7 100644 --- a/snippets/samples/code_samples_authorization_header_1.mdx +++ b/snippets/samples/code_samples_authorization_header_1.mdx @@ -46,18 +46,6 @@ var keys = await client.GetKeysAsync(); let client = Client::new("http://localhost:7700", Some("masterKey")); let keys = client .get_keys() .await .unwrap(); ``` -```swift Swift -client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") -client.getKeys { result in - switch result { - case .success(let keys): - print(keys) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.getKeys(); diff --git a/snippets/samples/code_samples_cancel_tasks_1.mdx b/snippets/samples/code_samples_cancel_tasks_1.mdx index f5ca8a4d5..e4a2d8f34 100644 --- a/snippets/samples/code_samples_cancel_tasks_1.mdx +++ b/snippets/samples/code_samples_cancel_tasks_1.mdx @@ -43,17 +43,6 @@ query.with_uids([1, 2]); let res = client.cancel_task_with(&query).await.unwrap(); ``` -```swift Swift -client.cancelTasks(filter: CancelTasksQuery(uids: [1, 2])) { (result) in - switch result { - case .success(let taskInfo): - print(taskInfo) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.cancelTasks(params: CancelTasksQuery(uids: [1, 2])); ``` diff --git a/snippets/samples/code_samples_create_a_key_1.mdx b/snippets/samples/code_samples_create_a_key_1.mdx index e13de977d..adb549fd4 100644 --- a/snippets/samples/code_samples_create_a_key_1.mdx +++ b/snippets/samples/code_samples_create_a_key_1.mdx @@ -96,23 +96,6 @@ let new_key = client .unwrap(); ``` -```swift Swift -let keyParams = KeyParams( - description: "Add documents: Products API key", - actions: ["documents.add"], - indexes: ["products"], - expiresAt: "2042-04-02T00:42:42Z" -) -client.createKey(keyParams) { result in - switch result { - case .success(let key): - print(key) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.createKey( description: 'Add documents: Products API key', diff --git a/snippets/samples/code_samples_create_an_index_1.mdx b/snippets/samples/code_samples_create_an_index_1.mdx index e43cf34bf..fadc1b9af 100644 --- a/snippets/samples/code_samples_create_an_index_1.mdx +++ b/snippets/samples/code_samples_create_an_index_1.mdx @@ -47,17 +47,6 @@ client.create_index("movies", Some("id")) .unwrap(); ``` -```swift Swift -client.createIndex(uid: "movies", primaryKey: "id") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.createIndex('movies', primaryKey: 'id'); ``` diff --git a/snippets/samples/code_samples_create_snapshot_1.mdx b/snippets/samples/code_samples_create_snapshot_1.mdx index 08d37debe..bb550bb9c 100644 --- a/snippets/samples/code_samples_create_snapshot_1.mdx +++ b/snippets/samples/code_samples_create_snapshot_1.mdx @@ -39,8 +39,4 @@ client .await .unwrap(); ``` - -```swift Swift -let task = try await self.client.createSnapshot() -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_date_guide_filter_1.mdx b/snippets/samples/code_samples_date_guide_filter_1.mdx index 58c9bbf24..f5115e3f7 100644 --- a/snippets/samples/code_samples_date_guide_filter_1.mdx +++ b/snippets/samples/code_samples_date_guide_filter_1.mdx @@ -60,21 +60,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - filter: "release_timestamp >= 1514761200 AND release_timestamp < 1672527600" -) -client.index("games").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('games').search( '', diff --git a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx index 98595a358..9a8687dc6 100644 --- a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx @@ -49,17 +49,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("games").updateFilterableAttributes(["release_timestamp"]) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('games') diff --git a/snippets/samples/code_samples_date_guide_index_1.mdx b/snippets/samples/code_samples_date_guide_index_1.mdx index 4f89b156e..afacf30f1 100644 --- a/snippets/samples/code_samples_date_guide_index_1.mdx +++ b/snippets/samples/code_samples_date_guide_index_1.mdx @@ -81,20 +81,6 @@ client .unwrap(); ``` -```swift Swift -let path = Bundle.main.url(forResource: "games", withExtension: "json")! -let documents: Data = try Data(contentsOf: path) - -client.index("games").addDocuments(documents: documents) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart //import 'dart:io'; //import 'dart:convert'; diff --git a/snippets/samples/code_samples_date_guide_sort_1.mdx b/snippets/samples/code_samples_date_guide_sort_1.mdx index 61a10eafb..29a0df96f 100644 --- a/snippets/samples/code_samples_date_guide_sort_1.mdx +++ b/snippets/samples/code_samples_date_guide_sort_1.mdx @@ -58,22 +58,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - sort: ["release_timestamp:desc"], -) - -client.index("games").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('games') diff --git a/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx b/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx index 47abc03f6..59d1af647 100644 --- a/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx @@ -51,17 +51,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("games").updateSortableAttributes(["release_timestamp"]) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('games') diff --git a/snippets/samples/code_samples_delete_a_key_1.mdx b/snippets/samples/code_samples_delete_a_key_1.mdx index 7b55b9a4c..52e7e1f9d 100644 --- a/snippets/samples/code_samples_delete_a_key_1.mdx +++ b/snippets/samples/code_samples_delete_a_key_1.mdx @@ -44,17 +44,6 @@ client .await?; ``` -```swift Swift -client.deleteKey(keyOrUid: "6062abda-a5aa-4414-ac91-ecd7944c0f8d") { result in - switch result { - case .success: - print("success") - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.deleteKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d'); ``` diff --git a/snippets/samples/code_samples_delete_all_documents_1.mdx b/snippets/samples/code_samples_delete_all_documents_1.mdx index 10c1037d5..7193d49ec 100644 --- a/snippets/samples/code_samples_delete_all_documents_1.mdx +++ b/snippets/samples/code_samples_delete_all_documents_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").deleteAllDocuments() { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').deleteAllDocuments(); ``` diff --git a/snippets/samples/code_samples_delete_an_index_1.mdx b/snippets/samples/code_samples_delete_an_index_1.mdx index b6f7f0408..dcadb8fdc 100644 --- a/snippets/samples/code_samples_delete_an_index_1.mdx +++ b/snippets/samples/code_samples_delete_an_index_1.mdx @@ -44,17 +44,6 @@ client.index("movies") .unwrap(); ``` -```swift Swift -client.index("movies").delete { (result) in - switch result { - case .success: - print("Index deleted") - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').delete(); ``` diff --git a/snippets/samples/code_samples_delete_one_document_1.mdx b/snippets/samples/code_samples_delete_one_document_1.mdx index cb6050e3c..45afa620f 100644 --- a/snippets/samples/code_samples_delete_one_document_1.mdx +++ b/snippets/samples/code_samples_delete_one_document_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").deleteDocument("25684") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').deleteDocument(25684); ``` diff --git a/snippets/samples/code_samples_delete_tasks_1.mdx b/snippets/samples/code_samples_delete_tasks_1.mdx index 6a31c17d4..46093c24c 100644 --- a/snippets/samples/code_samples_delete_tasks_1.mdx +++ b/snippets/samples/code_samples_delete_tasks_1.mdx @@ -43,17 +43,6 @@ query.with_uids([1, 2]); let res = client.delete_tasks_with(&query).await.unwrap(); ``` -```swift Swift -client.deleteTasks(filter: DeleteTasksQuery(uids: [1, 2])) { (result) in - switch result { - case .success(let taskInfo): - print(taskInfo) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.deleteTasks(params: DeleteTasksQuery(uids: [1, 2])); ``` diff --git a/snippets/samples/code_samples_distinct_attribute_guide_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_1.mdx index ee9c7c385..b0e6ff6d5 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_1.mdx @@ -43,17 +43,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("jackets").updateDistinctAttribute("product_id") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('jackets').updateDistinctAttribute('product_id'); ``` diff --git a/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx b/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx index 0012d35ae..e4539097a 100644 --- a/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx +++ b/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx @@ -77,26 +77,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "thriller", - filter: [ - [ - "genres = Horror", - "genres = Mystery" - ], - "director = \"Jordan Peele\"" - ]) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search( 'thriller', diff --git a/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx b/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx index 0b8b059c5..6ef242873 100644 --- a/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx +++ b/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx @@ -91,23 +91,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let displayedAttributes: [String] = [ - "title", - "overview", - "genres", - "release_date" -] -client.index("movies").updateDisplayedAttributes(displayedAttributes) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateDisplayedAttributes([ 'title', diff --git a/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx b/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx index 5e1ac6abb..7b30822fe 100644 --- a/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx +++ b/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx @@ -81,22 +81,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let searchableAttributes: [String] = [ - "title", - "overview", - "genres" -] -client.index("movies").updateSearchableAttributes(searchableAttributes) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_filtering_guide_1.mdx b/snippets/samples/code_samples_filtering_guide_1.mdx index 75f3950c8..d8e44fe88 100644 --- a/snippets/samples/code_samples_filtering_guide_1.mdx +++ b/snippets/samples/code_samples_filtering_guide_1.mdx @@ -59,21 +59,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "Avengers", - filter: "release_date > 795484800" -) -client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movie_ratings').search( 'Avengers', diff --git a/snippets/samples/code_samples_filtering_guide_2.mdx b/snippets/samples/code_samples_filtering_guide_2.mdx index ef625e1b5..38107e98d 100644 --- a/snippets/samples/code_samples_filtering_guide_2.mdx +++ b/snippets/samples/code_samples_filtering_guide_2.mdx @@ -62,20 +62,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "Batman", - filter: "release_date > 795484800 AND (director = \"Tim Burton\" OR director = \"Christopher Nolan\"") -client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movie_ratings').search( 'Batman', diff --git a/snippets/samples/code_samples_filtering_guide_3.mdx b/snippets/samples/code_samples_filtering_guide_3.mdx index 2d393f006..70d6dc5cc 100644 --- a/snippets/samples/code_samples_filtering_guide_3.mdx +++ b/snippets/samples/code_samples_filtering_guide_3.mdx @@ -61,20 +61,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "Planet of the Apes", - filter: "release_date > 1577884550 AND (NOT director = \"Tim Burton\")) -client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movie_ratings').search( 'Planet of the Apes', diff --git a/snippets/samples/code_samples_filtering_guide_nested_1.mdx b/snippets/samples/code_samples_filtering_guide_nested_1.mdx index 32a14b09c..4c2ad6aec 100644 --- a/snippets/samples/code_samples_filtering_guide_nested_1.mdx +++ b/snippets/samples/code_samples_filtering_guide_nested_1.mdx @@ -61,21 +61,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "thriller", - filter: "rating.users >= 90" -) -client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movie_ratings').search( 'thriller', diff --git a/snippets/samples/code_samples_filtering_update_settings_1.mdx b/snippets/samples/code_samples_filtering_update_settings_1.mdx index 9ecaed4cf..d661771c3 100644 --- a/snippets/samples/code_samples_filtering_update_settings_1.mdx +++ b/snippets/samples/code_samples_filtering_update_settings_1.mdx @@ -65,17 +65,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").updateFilterableAttributes(["genre", "director"]) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateFilterableAttributes([ 'director', diff --git a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx index 32732e600..d6c946691 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx @@ -56,17 +56,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("restaurants").updateFilterableAttributes(["_geo"]) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('restaurants').updateFilterableAttributes(['_geo']); ``` diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx index 92f7cc395..2cff52685 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx @@ -55,20 +55,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - filter: "_geoRadius(45.472735, 9.184019, 2000)" -) -client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx index 25f17c7dd..e1ec408ff 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx @@ -59,20 +59,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - filter: "_geoRadius(45.472735, 9.184019, 2000) AND type = pizza" -) -client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx index 5cfacc2f2..c2635cb9b 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx @@ -60,20 +60,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - filter: "_geoBoundingBox([45.494181, 9.214024], [45.449484, 9.179175])" -) -client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx b/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx index 7eea7715e..0a463f475 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx @@ -53,17 +53,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("restaurants").updateSortableAttributes(["_geo"]) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('restaurants').updateSortableAttributes(['_geo']); ``` diff --git a/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx b/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx index 53830fd5a..f953b5ea5 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx @@ -61,21 +61,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - sort: ["_geoPoint(48.8561446, 2.2978204):asc"] -) -client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } - } -``` - ```dart Dart await client.index('restaurants').search( '', SearchQuery(sort: ['_geoPoint(48.8561446, 2.2978204):asc'])); diff --git a/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx b/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx index ac772f180..45a185863 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx @@ -73,21 +73,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - sort: ["_geoPoint(48.8561446, 2.2978204):asc", "rating:desc"] -) -client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_get_all_keys_1.mdx b/snippets/samples/code_samples_get_all_keys_1.mdx index ae678ac57..e365cb005 100644 --- a/snippets/samples/code_samples_get_all_keys_1.mdx +++ b/snippets/samples/code_samples_get_all_keys_1.mdx @@ -45,17 +45,6 @@ let mut query = KeysQuery::new() .unwrap(); ``` -```swift Swift -client.getKeys(params: KeysQuery(limit: 3)) { result in - switch result { - case .success(let keys): - print(keys) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getKeys(params: KeysQuery(limit: 3)); ``` diff --git a/snippets/samples/code_samples_get_all_tasks_1.mdx b/snippets/samples/code_samples_get_all_tasks_1.mdx index 2cec5a0ce..544a28240 100644 --- a/snippets/samples/code_samples_get_all_tasks_1.mdx +++ b/snippets/samples/code_samples_get_all_tasks_1.mdx @@ -41,17 +41,6 @@ let tasks: TasksResults = client .unwrap(); ``` -```swift Swift -client.getTasks { (result) in - switch result { - case .success(let tasks): - print(tasks) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks(); ``` diff --git a/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx b/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx index 4b7389169..e5f1ac210 100644 --- a/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx +++ b/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx @@ -53,17 +53,6 @@ let mut query = TasksSearchQuery::new(&client) .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(limit: 2, from: 10)) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks(params: TasksQuery(limit: 2, from: 10)); ``` diff --git a/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx b/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx index 30edc01b5..5b9257340 100644 --- a/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx +++ b/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx @@ -53,17 +53,6 @@ let mut query = TasksSearchQuery::new(&client) .unwrap(); ``` -```swift Swift -client.getTasks(params: TasksQuery(limit: 2, from: 8)) { result in - switch result { - case .success(let taskResult): - print(taskResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTasks(params: TasksQuery(limit: 2, from: 8)); ``` diff --git a/snippets/samples/code_samples_get_dictionary_1.mdx b/snippets/samples/code_samples_get_dictionary_1.mdx index 28775f950..b989c9254 100644 --- a/snippets/samples/code_samples_get_dictionary_1.mdx +++ b/snippets/samples/code_samples_get_dictionary_1.mdx @@ -40,10 +40,4 @@ let task: TaskInfo = client .await .unwrap(); ``` - -```swift Swift -client.index("books").getDictionary { result in - // handle result -} -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_displayed_attributes_1.mdx b/snippets/samples/code_samples_get_displayed_attributes_1.mdx index 74062b067..d71e3a25b 100644 --- a/snippets/samples/code_samples_get_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_get_displayed_attributes_1.mdx @@ -41,17 +41,6 @@ let displayed_attributes: Vec = client .unwrap(); ``` -```swift Swift -client.index("movies").getDisplayedAttributes { (result) in - switch result { - case .success(let displayedAttributes): - print(displayedAttributes) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getDisplayedAttributes(); ``` diff --git a/snippets/samples/code_samples_get_distinct_attribute_1.mdx b/snippets/samples/code_samples_get_distinct_attribute_1.mdx index 638ab5e3b..9081459d4 100644 --- a/snippets/samples/code_samples_get_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_get_distinct_attribute_1.mdx @@ -41,17 +41,6 @@ let distinct_attribute: Option = client .unwrap(); ``` -```swift Swift -client.index("shoes").getDistinctAttribute { (result) in - switch result { - case .success(let distinctAttribute): - print(distinctAttribute) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('shoes').getDistinctAttribute(); ``` diff --git a/snippets/samples/code_samples_get_documents_1.mdx b/snippets/samples/code_samples_get_documents_1.mdx index f391ceffa..0adfcebe7 100644 --- a/snippets/samples/code_samples_get_documents_1.mdx +++ b/snippets/samples/code_samples_get_documents_1.mdx @@ -52,17 +52,6 @@ let documents: DocumentsResults = DocumentsQuery::new(&index) .unwrap(); ``` -```swift Swift -client.index("movies").getDocuments(params: DocumentsQuery(limit: 2)) { (result: Result, Swift.Error>) in - switch result { - case .success(let movies): - print(movies) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getDocuments( params: DocumentsQuery( diff --git a/snippets/samples/code_samples_get_filterable_attributes_1.mdx b/snippets/samples/code_samples_get_filterable_attributes_1.mdx index 45e078417..5f9fe23a8 100644 --- a/snippets/samples/code_samples_get_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_filterable_attributes_1.mdx @@ -41,17 +41,6 @@ let filterable_attributes: Vec = client .unwrap(); ``` -```swift Swift -client.index("movies").getFilterableAttributes { (result) in - switch result { - case .success(let attributes): - print(attributes) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getFilterableAttributes(); ``` diff --git a/snippets/samples/code_samples_get_health_1.mdx b/snippets/samples/code_samples_get_health_1.mdx index 936cbe42b..711a0bc10 100644 --- a/snippets/samples/code_samples_get_health_1.mdx +++ b/snippets/samples/code_samples_get_health_1.mdx @@ -41,17 +41,6 @@ client .unwrap(); ``` -```swift Swift -client.health { (result) in - switch result { - case .success: - print("Healthy!") - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.health(); ``` diff --git a/snippets/samples/code_samples_get_index_stats_1.mdx b/snippets/samples/code_samples_get_index_stats_1.mdx index e1edcb2a4..a75934562 100644 --- a/snippets/samples/code_samples_get_index_stats_1.mdx +++ b/snippets/samples/code_samples_get_index_stats_1.mdx @@ -41,17 +41,6 @@ let stats: IndexStats = client .unwrap(); ``` -```swift Swift -client.index("movies").stats { (result) in - switch result { - case .success(let stats): - print(stats) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getStats(); ``` diff --git a/snippets/samples/code_samples_get_indexes_stats_1.mdx b/snippets/samples/code_samples_get_indexes_stats_1.mdx index 115d71115..fa98495ba 100644 --- a/snippets/samples/code_samples_get_indexes_stats_1.mdx +++ b/snippets/samples/code_samples_get_indexes_stats_1.mdx @@ -40,17 +40,6 @@ let stats: ClientStats = client .unwrap(); ``` -```swift Swift -client.allStats { (result) in - switch result { - case .success(let stats): - print(stats) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getStats(); ``` diff --git a/snippets/samples/code_samples_get_non_separator_tokens_1.mdx b/snippets/samples/code_samples_get_non_separator_tokens_1.mdx index f9866a1ac..834827317 100644 --- a/snippets/samples/code_samples_get_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_get_non_separator_tokens_1.mdx @@ -41,12 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").getNonSeparatorTokens { result in - // handle result -} -``` - ```dart Dart await client.index('articles').getNonSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_get_one_document_1.mdx b/snippets/samples/code_samples_get_one_document_1.mdx index 4d41a83b5..3ac54c572 100644 --- a/snippets/samples/code_samples_get_one_document_1.mdx +++ b/snippets/samples/code_samples_get_one_document_1.mdx @@ -51,17 +51,6 @@ let document = DocumentQuery::new(&index) .unwrap(); ``` -```swift Swift -client.index("movies").getDocument(25684) { (result: Result) in - switch result { - case .success(let movie): - print(movie) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getDocument(25684, fields: ['id', 'title', 'poster', 'release_date']); diff --git a/snippets/samples/code_samples_get_one_index_1.mdx b/snippets/samples/code_samples_get_one_index_1.mdx index bfe823501..57c566717 100644 --- a/snippets/samples/code_samples_get_one_index_1.mdx +++ b/snippets/samples/code_samples_get_one_index_1.mdx @@ -40,17 +40,6 @@ let movies: Index = client .unwrap(); ``` -```swift Swift -client.getIndex("movies") { (result) in - switch result { - case .success(let index): - print(index) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getIndex('movies'); ``` diff --git a/snippets/samples/code_samples_get_one_key_1.mdx b/snippets/samples/code_samples_get_one_key_1.mdx index 5251cad89..c320d2320 100644 --- a/snippets/samples/code_samples_get_one_key_1.mdx +++ b/snippets/samples/code_samples_get_one_key_1.mdx @@ -41,17 +41,6 @@ let key = client .unwrap(); ``` -```swift Swift -client.getKey(keyOrUid: "6062abda-a5aa-4414-ac91-ecd7944c0f8d") { result in - switch result { - case .success(let key): - print(key) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d'); ``` diff --git a/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx index b400b818b..0087defc1 100644 --- a/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx @@ -40,8 +40,4 @@ let proximity_precision: String = client .await .unwrap(); ``` - -```swift Swift -let precisionValue = try await self.client.index("books").getProximityPrecision() -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_ranking_rules_1.mdx b/snippets/samples/code_samples_get_ranking_rules_1.mdx index 8da3f64b9..ad50c0da1 100644 --- a/snippets/samples/code_samples_get_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_get_ranking_rules_1.mdx @@ -41,17 +41,6 @@ let ranking_rules: Vec = client .unwrap(); ``` -```swift Swift -client.index("movies").getRankingRules { (result) in - switch result { - case .success(let rankingRules): - print(rankingRules) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getRankingRules(); ``` diff --git a/snippets/samples/code_samples_get_search_cutoff_1.mdx b/snippets/samples/code_samples_get_search_cutoff_1.mdx index ab2a2ef53..6b61ad64d 100644 --- a/snippets/samples/code_samples_get_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_get_search_cutoff_1.mdx @@ -40,8 +40,4 @@ let search_cutoff_ms: String = client .await .unwrap(); ``` - -```swift Swift -let precisionValue = try await self.client.index("books").getSearchCutoffMs() -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_searchable_attributes_1.mdx b/snippets/samples/code_samples_get_searchable_attributes_1.mdx index 9eea6947b..1888608f9 100644 --- a/snippets/samples/code_samples_get_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_searchable_attributes_1.mdx @@ -41,17 +41,6 @@ let searchable_attributes: Vec = client .unwrap(); ``` -```swift Swift -client.index("movies").getSearchableAttributes { (result) in - switch result { - case .success(let searchableAttributes): - print(searchableAttributes) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getSearchableAttributes(); ``` diff --git a/snippets/samples/code_samples_get_separator_tokens_1.mdx b/snippets/samples/code_samples_get_separator_tokens_1.mdx index 5fae44817..0dedfc113 100644 --- a/snippets/samples/code_samples_get_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_get_separator_tokens_1.mdx @@ -41,12 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").getSeparatorTokens { result in - // handle result -} -``` - ```dart Dart await client.index('articles').getSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_get_settings_1.mdx b/snippets/samples/code_samples_get_settings_1.mdx index 09104a985..a614c88f2 100644 --- a/snippets/samples/code_samples_get_settings_1.mdx +++ b/snippets/samples/code_samples_get_settings_1.mdx @@ -41,17 +41,6 @@ let settings: Settings = client .unwrap(); ``` -```swift Swift -client.index("movies").getSettings { (result) in - switch result { - case .success(let setting): - print(setting) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getSettings(); ``` diff --git a/snippets/samples/code_samples_get_sortable_attributes_1.mdx b/snippets/samples/code_samples_get_sortable_attributes_1.mdx index 55aa878da..d5ce29295 100644 --- a/snippets/samples/code_samples_get_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_sortable_attributes_1.mdx @@ -41,17 +41,6 @@ let sortable_attributes: Vec = client .unwrap(); ``` -```swift Swift -client.index("books").getSortableAttributes { (result: Result, Swift.Error>) in - switch result { - case .success(let attributes): - print(attributes) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('books').getSortableAttributes(); ``` diff --git a/snippets/samples/code_samples_get_stop_words_1.mdx b/snippets/samples/code_samples_get_stop_words_1.mdx index 63adfa3e8..5b6f41bb0 100644 --- a/snippets/samples/code_samples_get_stop_words_1.mdx +++ b/snippets/samples/code_samples_get_stop_words_1.mdx @@ -41,17 +41,6 @@ let stop_words: Vec = client .unwrap(); ``` -```swift Swift -client.index("movies").getStopWords { (result) in - switch result { - case .success(let stopWords): - print(stopWords) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getStopWords(); ``` diff --git a/snippets/samples/code_samples_get_synonyms_1.mdx b/snippets/samples/code_samples_get_synonyms_1.mdx index 5f0bcc248..b7b48d2d9 100644 --- a/snippets/samples/code_samples_get_synonyms_1.mdx +++ b/snippets/samples/code_samples_get_synonyms_1.mdx @@ -41,17 +41,6 @@ let synonyms: HashMap> = client .unwrap(); ``` -```swift Swift -client.index("movies").getSynonyms { (result) in - switch result { - case .success(let synonyms): - print(synonyms) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').getSynonyms(); ``` diff --git a/snippets/samples/code_samples_get_task_1.mdx b/snippets/samples/code_samples_get_task_1.mdx index 7a1414ac0..b6cd722bb 100644 --- a/snippets/samples/code_samples_get_task_1.mdx +++ b/snippets/samples/code_samples_get_task_1.mdx @@ -41,17 +41,6 @@ let task: Task = client .unwrap(); ``` -```swift Swift -client.getTask(taskUid: 1) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } - } -``` - ```dart Dart await client.getTask(1); ``` diff --git a/snippets/samples/code_samples_get_version_1.mdx b/snippets/samples/code_samples_get_version_1.mdx index 36fcffe37..f7757cbaf 100644 --- a/snippets/samples/code_samples_get_version_1.mdx +++ b/snippets/samples/code_samples_get_version_1.mdx @@ -40,17 +40,6 @@ let version: Version = client .unwrap(); ``` -```swift Swift -client.version { (result) in - switch result { - case .success(let version): - print(version) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getVersion(); ``` diff --git a/snippets/samples/code_samples_getting_started_add_documents.mdx b/snippets/samples/code_samples_getting_started_add_documents.mdx index 9a2a53b20..479f817ca 100644 --- a/snippets/samples/code_samples_getting_started_add_documents.mdx +++ b/snippets/samples/code_samples_getting_started_add_documents.mdx @@ -256,27 +256,6 @@ fn main() { block_on(async move { })} ``` -```swift Swift -// Add this to your `Package.swift` -dependencies: [ - .package(url: "https://github.com/meilisearch/meilisearch-swift.git", from: "0.17.0") -] - -// In your .swift file: -let path = Bundle.main.url(forResource: "movies", withExtension: "json")! -let documents: Data = try Data(contentsOf: path) -let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "aSampleMasterKey") - -client.index("movies").addDocuments(documents: documents) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart // In the command line: // dart pub add meilisearch diff --git a/snippets/samples/code_samples_getting_started_add_meteorites.mdx b/snippets/samples/code_samples_getting_started_add_meteorites.mdx index 77373581e..4fb259329 100644 --- a/snippets/samples/code_samples_getting_started_add_meteorites.mdx +++ b/snippets/samples/code_samples_getting_started_add_meteorites.mdx @@ -106,21 +106,6 @@ client .await?; ``` -```swift Swift -let file = "meteorites.json" -let path = URL(fileURLWithPath: file) -let documents: Data = try Data(contentsOf: path) - -client.index("meteorites").addDocuments(documents: documents) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart final json = await File('meteorites.json').readAsString(); await client.index('meteorites').addDocumentsJson(json); diff --git a/snippets/samples/code_samples_getting_started_check_task_status.mdx b/snippets/samples/code_samples_getting_started_check_task_status.mdx index ca8333dbe..250c0c8dc 100644 --- a/snippets/samples/code_samples_getting_started_check_task_status.mdx +++ b/snippets/samples/code_samples_getting_started_check_task_status.mdx @@ -41,17 +41,6 @@ client .unwrap(); ``` -```swift Swift -client.getTask(taskUid: 0) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getTask(0); ``` diff --git a/snippets/samples/code_samples_getting_started_configure_settings.mdx b/snippets/samples/code_samples_getting_started_configure_settings.mdx index 2bf0c631a..d8086a1b2 100644 --- a/snippets/samples/code_samples_getting_started_configure_settings.mdx +++ b/snippets/samples/code_samples_getting_started_configure_settings.mdx @@ -103,21 +103,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let settings = Setting( - filterableAttributes: ["mass", "_geo"], - sortableAttributes: ["mass", "_geo"] -) -client.index("meteorites").updateSettings(settings) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('meteorites').updateSettings(IndexSettings( filterableAttributes: ['mass', '_geo'], diff --git a/snippets/samples/code_samples_getting_started_faceting.mdx b/snippets/samples/code_samples_getting_started_faceting.mdx index 2461cbd02..648ac88a8 100644 --- a/snippets/samples/code_samples_getting_started_faceting.mdx +++ b/snippets/samples/code_samples_getting_started_faceting.mdx @@ -92,10 +92,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").updateFaceting({ maxValuesPerFacet: 2 }) -``` - ```dart Dart await client.index('books').updateFaceting(Faceting( maxValuesPerFacet: 2, diff --git a/snippets/samples/code_samples_getting_started_filtering.mdx b/snippets/samples/code_samples_getting_started_filtering.mdx index 6260dc684..1c775138a 100644 --- a/snippets/samples/code_samples_getting_started_filtering.mdx +++ b/snippets/samples/code_samples_getting_started_filtering.mdx @@ -53,21 +53,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - filter: "mass < 200" - ) - client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } - } -``` - ```dart Dart await client .index('meteorites') diff --git a/snippets/samples/code_samples_getting_started_geo_point.mdx b/snippets/samples/code_samples_getting_started_geo_point.mdx index 90cfdce8b..c3e5286de 100644 --- a/snippets/samples/code_samples_getting_started_geo_point.mdx +++ b/snippets/samples/code_samples_getting_started_geo_point.mdx @@ -55,21 +55,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - sort: ["_geoPoint(48.8583701, 2.2922926):asc"] -) -client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('meteorites').search( '', SearchQuery(sort: ['_geoPoint(48.8583701, 2.2922926):asc'])); diff --git a/snippets/samples/code_samples_getting_started_geo_radius.mdx b/snippets/samples/code_samples_getting_started_geo_radius.mdx index 70063f96d..ccfdcddf2 100644 --- a/snippets/samples/code_samples_getting_started_geo_radius.mdx +++ b/snippets/samples/code_samples_getting_started_geo_radius.mdx @@ -53,21 +53,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - filter: "_geoRadius(46.9480, 7.4474, 210000)" -) -client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('meteorites').search( '', diff --git a/snippets/samples/code_samples_getting_started_pagination.mdx b/snippets/samples/code_samples_getting_started_pagination.mdx index c1eed72d5..0bdc9ba48 100644 --- a/snippets/samples/code_samples_getting_started_pagination.mdx +++ b/snippets/samples/code_samples_getting_started_pagination.mdx @@ -54,10 +54,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").updatePagination({ maxTotalHits: 500 }) -``` - ```dart Dart await client .index('books') diff --git a/snippets/samples/code_samples_getting_started_search.mdx b/snippets/samples/code_samples_getting_started_search.mdx index 5c61873d6..02ba1bb61 100644 --- a/snippets/samples/code_samples_getting_started_search.mdx +++ b/snippets/samples/code_samples_getting_started_search.mdx @@ -72,17 +72,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -client.index("movies").search(SearchParameters(query: "botman")) { (result) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search('botman'); ``` diff --git a/snippets/samples/code_samples_getting_started_sorting.mdx b/snippets/samples/code_samples_getting_started_sorting.mdx index 90ce81107..49032606e 100644 --- a/snippets/samples/code_samples_getting_started_sorting.mdx +++ b/snippets/samples/code_samples_getting_started_sorting.mdx @@ -71,22 +71,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "", - filter: "mass < 200", - sort: ["mass:asc"] -) -client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('meteorites').search( '', diff --git a/snippets/samples/code_samples_getting_started_synonyms.mdx b/snippets/samples/code_samples_getting_started_synonyms.mdx index 4e2c0b6b7..f71a97a55 100644 --- a/snippets/samples/code_samples_getting_started_synonyms.mdx +++ b/snippets/samples/code_samples_getting_started_synonyms.mdx @@ -76,21 +76,6 @@ client .unwrap(); ``` -```swift Swift -let synonyms: [String: [String]] = [ - "winnie": ["piglet"], - "piglet": ["winnie"] -] - client.index("movies").updateSynonyms(synonyms) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } - } -``` - ```dart Dart await client.index('movies').updateSynonyms({ 'winnie': ['piglet'], diff --git a/snippets/samples/code_samples_getting_started_typo_tolerance.mdx b/snippets/samples/code_samples_getting_started_typo_tolerance.mdx index a3d7be203..0e66eeb6e 100644 --- a/snippets/samples/code_samples_getting_started_typo_tolerance.mdx +++ b/snippets/samples/code_samples_getting_started_typo_tolerance.mdx @@ -88,10 +88,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift - -``` - ```dart Dart final toUpdate = TypoTolerance( minWordSizeForTypos: MinWordSizeForTypos(oneTypo: 4), diff --git a/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx b/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx index 46d92d925..5fe63171d 100644 --- a/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx +++ b/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx @@ -85,18 +85,6 @@ client .unwrap(); ``` -```swift Swift -let displayedAttributes: [String] = ["title", "overview", "poster"] -client.index("movies").updateDisplayedAttributes(displayedAttributes) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } - } -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx b/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx index 4a12ba5cc..1332e7ce6 100644 --- a/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx +++ b/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx @@ -130,27 +130,6 @@ client .unwrap(); ``` -```swift Swift -let rankingRules: [String] = [ - "exactness", - "words", - "typo", - "proximity", - "attribute", - "sort", - "release_date:asc", - "rank:desc" -] -client.index("movies").updateRankingRules(rankingRules) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateRankingRules([ 'exactness', diff --git a/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx b/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx index 7b3a33e67..ffa7c078c 100644 --- a/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx +++ b/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx @@ -62,18 +62,6 @@ client .unwrap(); ``` -```swift Swift -let searchableAttributes: [String] = ["title"] -client.index("movies").updateSearchableAttributes(searchableAttributes) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateSearchableAttributes(['title']); ``` diff --git a/snippets/samples/code_samples_getting_started_update_stop_words.mdx b/snippets/samples/code_samples_getting_started_update_stop_words.mdx index b9c9d890b..f725eca3e 100644 --- a/snippets/samples/code_samples_getting_started_update_stop_words.mdx +++ b/snippets/samples/code_samples_getting_started_update_stop_words.mdx @@ -52,18 +52,6 @@ client .unwrap(); ``` -```swift Swift -let stopWords: [String] = ["the"] -client.index("movies").updateStopWords(stopWords) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateStopWords(['the']); ``` diff --git a/snippets/samples/code_samples_landing_getting_started_1.mdx b/snippets/samples/code_samples_landing_getting_started_1.mdx index b353fed74..9d68cef37 100644 --- a/snippets/samples/code_samples_landing_getting_started_1.mdx +++ b/snippets/samples/code_samples_landing_getting_started_1.mdx @@ -121,29 +121,6 @@ client.index("movies") .unwrap(); ``` -```swift Swift -let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") -let documents = """ -[ - { "id": 1, "title": "Carol" }, - { "id": 2, "title": "Wonder Woman" }, - { "id": 3, "title": "Life of Pi" }, - { "id": 4, "title": "Mad Max: Fury Road" }, - { "id": 5, "title": "Moana" }, - { "id": 6, "title": "Philadelphia"} -] -""".data(using: .utf8)! - -client.index("movies").addDocuments(documents: documents, primaryKey: "reference_number") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```javascript Vanilla JS
diff --git a/snippets/samples/code_samples_list_all_indexes_1.mdx b/snippets/samples/code_samples_list_all_indexes_1.mdx index 090268bb7..a67cbeb98 100644 --- a/snippets/samples/code_samples_list_all_indexes_1.mdx +++ b/snippets/samples/code_samples_list_all_indexes_1.mdx @@ -44,17 +44,6 @@ let mut indexes = IndexesQuery::new(&client) .unwrap(); ``` -```swift Swift -client.getIndexes { (result) in - switch result { - case .success(let indexes): - print(indexes) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.getIndexes(params: IndexesQuery(limit: 3)); ``` diff --git a/snippets/samples/code_samples_phrase_search_1.mdx b/snippets/samples/code_samples_phrase_search_1.mdx index 68f98186c..d409660fd 100644 --- a/snippets/samples/code_samples_phrase_search_1.mdx +++ b/snippets/samples/code_samples_phrase_search_1.mdx @@ -46,19 +46,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "\"african american\" horror") -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search('"african american" horror'); ``` diff --git a/snippets/samples/code_samples_post_dump_1.mdx b/snippets/samples/code_samples_post_dump_1.mdx index ffdc56a79..47eac06e1 100644 --- a/snippets/samples/code_samples_post_dump_1.mdx +++ b/snippets/samples/code_samples_post_dump_1.mdx @@ -40,17 +40,6 @@ client .unwrap(); ``` -```swift Swift -client.createDump { result in - switch result { - case .success(let dumpStatus): - print(dumpStatus) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.createDump(); ``` diff --git a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx index 6d8ecc627..e26a9e91c 100644 --- a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx @@ -128,29 +128,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let documents: Data = """ -[ - { - "reference_number": 287947, - "title": "Diary of a Wimpy Kid", - "author": "Jeff Kinney", - "genres": ["comedy", "humor"], - "price": 5 - } -] -""".data(using: .utf8)! - -client.index("books").addDocuments(documents: documents, primaryKey: "reference_number") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').addDocuments([ { diff --git a/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx index 55bc6d51d..4889cd335 100644 --- a/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx @@ -48,17 +48,6 @@ client .unwrap(); ``` -```swift Swift -client.createIndex(uid: "books", primaryKey: "reference_number") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.createIndex('books', primaryKey: 'reference_number'); ``` diff --git a/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx index 9581144fe..0237a768b 100644 --- a/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx @@ -45,17 +45,6 @@ let task = IndexUpdater::new("books", &client) .unwrap(); ``` -```swift Swift -client.updateIndex(uid: "movies", primaryKey: "title") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.updateIndex('books', 'title'); ``` diff --git a/snippets/samples/code_samples_reset_dictionary_1.mdx b/snippets/samples/code_samples_reset_dictionary_1.mdx index 921d15e7f..d0dc72348 100644 --- a/snippets/samples/code_samples_reset_dictionary_1.mdx +++ b/snippets/samples/code_samples_reset_dictionary_1.mdx @@ -40,10 +40,4 @@ let task: TaskInfo = client .await .unwrap(); ``` - -```swift Swift -client.index("books").resetDictionary { result in - // handle result -} -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_displayed_attributes_1.mdx b/snippets/samples/code_samples_reset_displayed_attributes_1.mdx index 413515624..1820c7862 100644 --- a/snippets/samples/code_samples_reset_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_displayed_attributes_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").resetDisplayedAttributes { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').resetDisplayedAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_distinct_attribute_1.mdx b/snippets/samples/code_samples_reset_distinct_attribute_1.mdx index 1db2b3915..71c4d796e 100644 --- a/snippets/samples/code_samples_reset_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_reset_distinct_attribute_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("shoes").resetDistinctAttribute { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('shoes').resetDistinctAttribute(); ``` diff --git a/snippets/samples/code_samples_reset_filterable_attributes_1.mdx b/snippets/samples/code_samples_reset_filterable_attributes_1.mdx index b717c41a6..3cc5e8b6b 100644 --- a/snippets/samples/code_samples_reset_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_filterable_attributes_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").resetFilterableAttributes { (result) in - switch result { - case .success(let attributes): - print(attributes) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').resetFilterableAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx b/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx index 7cf9c7848..792474dfe 100644 --- a/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx @@ -41,12 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").resetNonSeparatorTokens { result in - // handle result -} -``` - ```dart Dart await client.index('articles').resetNonSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx index 9c14deeb3..592c96249 100644 --- a/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx @@ -40,8 +40,4 @@ let task: TaskInfo = client .await .unwrap(); ``` - -```swift Swift -let task = try await self.client.index("books").resetProximityPrecision() -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_ranking_rules_1.mdx b/snippets/samples/code_samples_reset_ranking_rules_1.mdx index 98e964720..078516f02 100644 --- a/snippets/samples/code_samples_reset_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_reset_ranking_rules_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").resetRankingRules { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').resetRankingRules(); ``` diff --git a/snippets/samples/code_samples_reset_search_cutoff_1.mdx b/snippets/samples/code_samples_reset_search_cutoff_1.mdx index f07d4c8b9..b92826442 100644 --- a/snippets/samples/code_samples_reset_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_reset_search_cutoff_1.mdx @@ -40,8 +40,4 @@ let task: TaskInfo = client .await .unwrap(); ``` - -```swift Swift -let task = try await self.client.index("books").resetSearchCutoffMs() -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_searchable_attributes_1.mdx b/snippets/samples/code_samples_reset_searchable_attributes_1.mdx index c38b24a60..3fc3fa903 100644 --- a/snippets/samples/code_samples_reset_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_searchable_attributes_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").resetSearchableAttributes { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').resetSearchableAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_separator_tokens_1.mdx b/snippets/samples/code_samples_reset_separator_tokens_1.mdx index 47eb8cd4f..535797b74 100644 --- a/snippets/samples/code_samples_reset_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_reset_separator_tokens_1.mdx @@ -41,12 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").resetSeparatorTokens { result in - // handle result -} -``` - ```dart Dart await client.index('articles').resetSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_reset_settings_1.mdx b/snippets/samples/code_samples_reset_settings_1.mdx index 354f91ca7..cd66aed84 100644 --- a/snippets/samples/code_samples_reset_settings_1.mdx +++ b/snippets/samples/code_samples_reset_settings_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").resetSettings { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').resetSettings(); ``` diff --git a/snippets/samples/code_samples_reset_sortable_attributes_1.mdx b/snippets/samples/code_samples_reset_sortable_attributes_1.mdx index 0f0cc5133..e527ffab0 100644 --- a/snippets/samples/code_samples_reset_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_sortable_attributes_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").resetSortableAttributes() { (result) in - switch result { - case .success(let attributes): - print(attributes) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('books').resetSortableAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_stop_words_1.mdx b/snippets/samples/code_samples_reset_stop_words_1.mdx index f792d8da5..5d0317b81 100644 --- a/snippets/samples/code_samples_reset_stop_words_1.mdx +++ b/snippets/samples/code_samples_reset_stop_words_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").resetStopWords { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').resetStopWords(); ``` diff --git a/snippets/samples/code_samples_reset_synonyms_1.mdx b/snippets/samples/code_samples_reset_synonyms_1.mdx index 4eaa3c31e..56c820ffd 100644 --- a/snippets/samples/code_samples_reset_synonyms_1.mdx +++ b/snippets/samples/code_samples_reset_synonyms_1.mdx @@ -41,17 +41,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").resetSynonyms { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').resetSynonyms(); ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx b/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx index bc708c35d..3a1fa90c9 100644 --- a/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx @@ -64,18 +64,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters(query: "adventure", attributesToSearchOn: ["overview"]) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('books').facetSearch( FacetSearchQuery( diff --git a/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx b/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx index bd575bd8b..065a37c8c 100644 --- a/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx @@ -84,21 +84,6 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "shifu", - attributesToCrop: ["overview"], - cropLength: 5) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search( 'shifu', SearchQuery(attributesToCrop: ['overview'], cropLength: 5)); diff --git a/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx b/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx index e8808a04a..19ec7753a 100644 --- a/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx @@ -84,21 +84,6 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "shifu", - attributesToCrop: ["overview"], - cropMarker: "[…]") -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search( 'shifu', diff --git a/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx b/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx index 2e693640c..b5dfe1562 100644 --- a/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx @@ -72,20 +72,6 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "winter feast", - attributesToHighlight: ["overview"]) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search( 'winter feast', SearchQuery(attributesToHighlight: ['overview'])); diff --git a/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx b/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx index 90d613191..50fc4d68c 100644 --- a/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx @@ -93,22 +93,6 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "winter feast", - attributesToHighlight: ["overview"], - highlightPreTag: "", - highlightPostTag: "") -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search( 'winter feast', diff --git a/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx b/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx index 44d1cd5e6..4c88d603c 100644 --- a/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx @@ -50,18 +50,6 @@ if(result is PaginatedSearchResult pagedResults) client.index("movies").search().with_hits_per_page(15).execute().await?; ``` -```swift Swift -let searchParameters = SearchParameters(query: "", hitsPerPage: 15) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx b/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx index 8f7427705..b103bc36b 100644 --- a/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx @@ -65,20 +65,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "shifu", - limit: 2) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search('shifu', SearchQuery(limit: 2)); ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx b/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx index bd12f2deb..adb1d5c9e 100644 --- a/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx @@ -65,20 +65,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "shifu", - offset: 1) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search('shifu', SearchQuery(offset: 1)); ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_page_1.mdx b/snippets/samples/code_samples_search_parameter_guide_page_1.mdx index fc5509493..97da7bba7 100644 --- a/snippets/samples/code_samples_search_parameter_guide_page_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_page_1.mdx @@ -50,18 +50,6 @@ if(result is PaginatedSearchResult pagedResults) client.index("movies").search().with_page(2).execute().await?; ``` -```swift Swift -let searchParameters = SearchParameters(query: "", page: 15) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_search_parameter_guide_query_1.mdx b/snippets/samples/code_samples_search_parameter_guide_query_1.mdx index 72f5c3e48..36ef62039 100644 --- a/snippets/samples/code_samples_search_parameter_guide_query_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_query_1.mdx @@ -45,17 +45,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -client.index("movies").search(SearchParameters(query: "shifu")) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search('shifu'); ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx b/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx index 2a3873491..9f8075be1 100644 --- a/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx @@ -67,20 +67,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "shifu", - attributesToRetrieve: ["overview", "title"]) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search( 'shifu', SearchQuery(attributesToRetrieve: ['overview', 'title'])); diff --git a/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx index ed0f8ccc1..af91b8786 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx @@ -73,20 +73,6 @@ let matches_position: Vec<&HashMap>> = results .collect(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "winter feast", - showMatchesPosition: true) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx index 9fbd6c89b..704153194 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx @@ -64,18 +64,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters(query: "dragon", showRankingScore: true) -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult.rankingScore) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx index 8328120ea..00015ba3d 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx @@ -61,9 +61,4 @@ let results: SearchResults = client .await .unwrap(); ``` - -```swift Swift -let searchParameters = SearchParameters(query: "dragon", showRankingScoreDetails: true) -let movies: Searchable = try await client.index("movies").search(searchParameters) -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx b/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx index a6ccd575f..4813481d9 100644 --- a/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx @@ -62,21 +62,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "science fiction", - sort: ["price:asc"] -) -client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('books') diff --git a/snippets/samples/code_samples_search_post_1.mdx b/snippets/samples/code_samples_search_post_1.mdx index dfb4452cb..842cda459 100644 --- a/snippets/samples/code_samples_search_post_1.mdx +++ b/snippets/samples/code_samples_search_post_1.mdx @@ -45,18 +45,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters(query: "American ninja") -client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').search('American ninja'); ``` diff --git a/snippets/samples/code_samples_security_guide_create_key_1.mdx b/snippets/samples/code_samples_security_guide_create_key_1.mdx index d67c16f31..b660e914e 100644 --- a/snippets/samples/code_samples_security_guide_create_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_create_key_1.mdx @@ -106,25 +106,6 @@ let new_key = client .unwrap(); ``` -```swift Swift -let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") - -let keyParams = KeyParams( - description: "Search patient records key", - actions: ["search"], - indexes: ["patient_medical_records"], - expiresAt: "2023-01-01T00:00:00Z" -) -client.createKey(keyParams) { result in - switch result { - case .success(let key): - print(key) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.createKey( diff --git a/snippets/samples/code_samples_security_guide_delete_key_1.mdx b/snippets/samples/code_samples_security_guide_delete_key_1.mdx index eea681622..ee5fb372b 100644 --- a/snippets/samples/code_samples_security_guide_delete_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_delete_key_1.mdx @@ -52,19 +52,6 @@ client .await?; ``` -```swift Swift -let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") - -client.deleteKey(keyOrUid: "ac5cd97d-5a4b-4226-a868-2d0eb6d197ab") { result in - switch result { - case .success: - print("success") - case .failure(let error): - print(error) - } -} -``` - ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.deleteKey('ac5cd97d-5a4b-4226-a868-2d0eb6d197ab'); diff --git a/snippets/samples/code_samples_security_guide_list_keys_1.mdx b/snippets/samples/code_samples_security_guide_list_keys_1.mdx index 4f97b3878..42381de62 100644 --- a/snippets/samples/code_samples_security_guide_list_keys_1.mdx +++ b/snippets/samples/code_samples_security_guide_list_keys_1.mdx @@ -50,19 +50,6 @@ let keys = client .unwrap(); ``` -```swift Swift -let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") - -client.getKeys() { result in - switch result { - case .success(let keys): - print(keys) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.getKeys(); diff --git a/snippets/samples/code_samples_security_guide_search_key_1.mdx b/snippets/samples/code_samples_security_guide_search_key_1.mdx index 34f889958..9fb64b633 100644 --- a/snippets/samples/code_samples_security_guide_search_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_search_key_1.mdx @@ -50,19 +50,6 @@ let result = client.index("patient_medical_records") .unwrap(); ``` -```swift Swift -client = try MeiliSearch(host: "http://localhost:7700", apiKey: "apiKey") -client.index("patient_medical_records") - .search(SearchParameters(query: "")) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'apiKey'); await client.index('patient_medical_records').search(''); diff --git a/snippets/samples/code_samples_security_guide_update_key_1.mdx b/snippets/samples/code_samples_security_guide_update_key_1.mdx index c5353006c..95bbcbe20 100644 --- a/snippets/samples/code_samples_security_guide_update_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_update_key_1.mdx @@ -63,20 +63,6 @@ key .update(&client); ``` -```swift Swift -let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") -let keyParams = KeyUpdateParams(description: "Default Search API Key") - -client.updateKey(key: "74c9c733-3368-4738-bbe5-1d18a5fecb37", keyParams: keyParams) { result in - switch result { - case .success(let key): - print(key) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.updateKey( diff --git a/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx b/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx index 0d2f931cd..139a667fe 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx @@ -59,21 +59,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "science fiction", - sort: ["rating.users:asc"] -) -client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movie_ratings') diff --git a/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx b/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx index 8a93aa6da..d757089a6 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx @@ -62,21 +62,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "science fiction", - sort: ["price:asc"] -) -client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('books') diff --git a/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx b/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx index 8e244d70c..2d82e9e70 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx @@ -62,21 +62,6 @@ let results: SearchResults = client .unwrap(); ``` -```swift Swift -let searchParameters = SearchParameters( - query: "butler", - sort: ["author:desc"] -) -client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in - switch result { - case .success(let searchResult): - print(searchResult) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('books') diff --git a/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx b/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx index bf942ce3b..e976f442b 100644 --- a/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx @@ -113,25 +113,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let rankingRules: [String] = [ - "words", - "sort", - "typo", - "proximity", - "attribute", - "exactness" -] -client.index("books").updateRankingRules(rankingRules) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('books').updateRankingRules( ['words', 'sort', 'typo', 'proximity', 'attribute', 'exactness']); diff --git a/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx b/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx index ef5c2ed31..11b921631 100644 --- a/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx @@ -64,17 +64,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").updateSortableAttributes(["price", "author"]) { (result: Result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('books').updateSortableAttributes(['author', 'price']); ``` diff --git a/snippets/samples/code_samples_swap_indexes_1.mdx b/snippets/samples/code_samples_swap_indexes_1.mdx index 31d5de5b4..5c8e3e2b8 100644 --- a/snippets/samples/code_samples_swap_indexes_1.mdx +++ b/snippets/samples/code_samples_swap_indexes_1.mdx @@ -74,13 +74,6 @@ client.swap_indexes([ }]) ``` -```swift Swift -let task = try await self.client.swapIndexes([ - ("indexA", "indexB"), - ("indexX", "indexY") -]) -``` - ```dart Dart await client.swapIndexes([ SwapIndex(['indexA', 'indexB']), diff --git a/snippets/samples/code_samples_synonyms_guide_1.mdx b/snippets/samples/code_samples_synonyms_guide_1.mdx index b8f528c6c..211f100c9 100644 --- a/snippets/samples/code_samples_synonyms_guide_1.mdx +++ b/snippets/samples/code_samples_synonyms_guide_1.mdx @@ -74,22 +74,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let synonyms: [String: [String]] = [ - "great": ["fantastic"], - "fantastic": ["great"] -] - -client.index("movies").updateSynonyms(synonyms) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateSynonyms({ 'great': ['fantastic'], diff --git a/snippets/samples/code_samples_update_a_key_1.mdx b/snippets/samples/code_samples_update_a_key_1.mdx index bf9227003..4f8fdbf4f 100644 --- a/snippets/samples/code_samples_update_a_key_1.mdx +++ b/snippets/samples/code_samples_update_a_key_1.mdx @@ -82,22 +82,6 @@ key .unwrap(); ``` -```swift Swift -let keyParams = KeyUpdateParams( - description: "Manage documents: Products/Reviews API key", - name: "Products/Reviews API key" -) - -client.updateKey(keyOrUid: "6062abda-a5aa-4414-ac91-ecd7944c0f8d", keyParams: keyParams) { result in - switch result { - case .success(let key): - print(key) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.updateKey( '6062abda-a5aa-4414-ac91-ecd7944c0f8d', diff --git a/snippets/samples/code_samples_update_an_index_1.mdx b/snippets/samples/code_samples_update_an_index_1.mdx index d962419a7..a8ad15e70 100644 --- a/snippets/samples/code_samples_update_an_index_1.mdx +++ b/snippets/samples/code_samples_update_an_index_1.mdx @@ -43,17 +43,6 @@ let task = IndexUpdater::new("movies", &client) .unwrap(); ``` -```swift Swift -client.index("movies").update(primaryKey: "id") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').update(primaryKey: 'id'); ``` diff --git a/snippets/samples/code_samples_update_dictionary_1.mdx b/snippets/samples/code_samples_update_dictionary_1.mdx index 6228f242e..85d435e9a 100644 --- a/snippets/samples/code_samples_update_dictionary_1.mdx +++ b/snippets/samples/code_samples_update_dictionary_1.mdx @@ -49,10 +49,4 @@ let task: TaskInfo = client .await .unwrap(); ``` - -```swift Swift -client.index("books").updateDictionary(["J. R. R.", "W. E. B."]) { result in - // handle result -} -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_displayed_attributes_1.mdx b/snippets/samples/code_samples_update_displayed_attributes_1.mdx index cd88ed91e..6bdbd04ee 100644 --- a/snippets/samples/code_samples_update_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_update_displayed_attributes_1.mdx @@ -93,18 +93,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let displayedAttributes: [String] = ["title", "overview", "genres", "release_date"] -client.index("movies").updateDisplayedAttributes(displayedAttributes) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateDisplayedAttributes([ 'title', diff --git a/snippets/samples/code_samples_update_distinct_attribute_1.mdx b/snippets/samples/code_samples_update_distinct_attribute_1.mdx index d4c75447c..2a2cce5ea 100644 --- a/snippets/samples/code_samples_update_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_update_distinct_attribute_1.mdx @@ -43,17 +43,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("shoes").updateDistinctAttribute("skuid") { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('shoes').updateDistinctAttribute('skuid'); ``` diff --git a/snippets/samples/code_samples_update_filterable_attributes_1.mdx b/snippets/samples/code_samples_update_filterable_attributes_1.mdx index 280180ef9..95e4731cf 100644 --- a/snippets/samples/code_samples_update_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_filterable_attributes_1.mdx @@ -116,17 +116,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("movies").updateFilterableAttributes(["genre", "director"]) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_update_non_separator_tokens_1.mdx b/snippets/samples/code_samples_update_non_separator_tokens_1.mdx index 5af8b65ec..4263dd727 100644 --- a/snippets/samples/code_samples_update_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_update_non_separator_tokens_1.mdx @@ -47,12 +47,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").updateNonSeparatorTokens(["@", "#"]) { result in - // handle result -} -``` - ```dart Dart await client.index('articles').updateNonSeparatorTokens(["@", "#"]); ``` diff --git a/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx index c292b7347..dc1024350 100644 --- a/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx @@ -42,8 +42,4 @@ let task: TaskInfo = client .await .unwrap(); ``` - -```swift Swift -let task = try await self.client.index("books").updateProximityPrecision(.byWord) -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_ranking_rules_1.mdx b/snippets/samples/code_samples_update_ranking_rules_1.mdx index a104e9aac..074425464 100644 --- a/snippets/samples/code_samples_update_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_update_ranking_rules_1.mdx @@ -131,27 +131,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let rankingRules: [String] = [ - "words", - "typo", - "proximity", - "attribute", - "sort", - "exactness", - "release_date:asc", - "rank:desc" -] -client.index("movies").updateRankingRules(rankingRules) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateRankingRules([ 'words', diff --git a/snippets/samples/code_samples_update_search_cutoff_1.mdx b/snippets/samples/code_samples_update_search_cutoff_1.mdx index 6e862d15d..5918a8eb5 100644 --- a/snippets/samples/code_samples_update_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_update_search_cutoff_1.mdx @@ -42,8 +42,4 @@ let task: TaskInfo = client .await .unwrap(); ``` - -```swift Swift -let task = try await self.client.index("books").updateSearchCutoffMs(150) -``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_searchable_attributes_1.mdx b/snippets/samples/code_samples_update_searchable_attributes_1.mdx index 210e81eb0..ec19173f8 100644 --- a/snippets/samples/code_samples_update_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_searchable_attributes_1.mdx @@ -79,18 +79,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let searchableAttributes: [String] = ["title", "overview", "genres"] -client.index("movies").updateSearchableAttributes(searchableAttributes) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_update_separator_tokens_1.mdx b/snippets/samples/code_samples_update_separator_tokens_1.mdx index eaea2524e..54ec002db 100644 --- a/snippets/samples/code_samples_update_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_update_separator_tokens_1.mdx @@ -47,12 +47,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").updateSeparatorTokens(["|", "…"]) { result in - // handle result -} -``` - ```dart Dart await client.index('articles').updateSeparatorTokens(["|", "…"]); ``` diff --git a/snippets/samples/code_samples_update_settings_1.mdx b/snippets/samples/code_samples_update_settings_1.mdx index 57c219eb5..ccbe30d96 100644 --- a/snippets/samples/code_samples_update_settings_1.mdx +++ b/snippets/samples/code_samples_update_settings_1.mdx @@ -483,47 +483,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let settings = Setting(rankingRules: [ - "words", - "typo", - "proximity", - "attribute", - "sort", - "exactness", - "release_date:desc", - "rank:desc" -], searchableAttributes: [ - "title", - "overview", - "genres" -], displayedAttributes: [ - "title", - "overview", - "genres", - "release_date" -], stopWords: [ - "the", - "a", - "an" -], synonyms: [ - "wolverine": ["xmen", "logan"], - "logan": ["wolverine"] -], distinctAttribute: "movie_id", -sortableAttributes: [ - "title", - "release_date" -]) -client.index("movies").updateSettings(settings) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateSettings( IndexSettings( diff --git a/snippets/samples/code_samples_update_sortable_attributes_1.mdx b/snippets/samples/code_samples_update_sortable_attributes_1.mdx index d17b6fb93..3b2750f64 100644 --- a/snippets/samples/code_samples_update_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_sortable_attributes_1.mdx @@ -68,17 +68,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -client.index("books").updateSortableAttributes(["price", "author"]) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('books').updateSortableAttributes(['price', 'author']); ``` diff --git a/snippets/samples/code_samples_update_stop_words_1.mdx b/snippets/samples/code_samples_update_stop_words_1.mdx index 59ea60b88..9c79da03f 100644 --- a/snippets/samples/code_samples_update_stop_words_1.mdx +++ b/snippets/samples/code_samples_update_stop_words_1.mdx @@ -49,18 +49,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let stopWords: [String] = ["of", "the", "to"] -client.index("movies").updateStopWords(stopWords) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateStopWords(['of', 'the', 'to']); ``` diff --git a/snippets/samples/code_samples_update_synonyms_1.mdx b/snippets/samples/code_samples_update_synonyms_1.mdx index b71b15f4e..61cf4e975 100644 --- a/snippets/samples/code_samples_update_synonyms_1.mdx +++ b/snippets/samples/code_samples_update_synonyms_1.mdx @@ -88,22 +88,6 @@ let task: TaskInfo = client .unwrap(); ``` -```swift Swift -let synonyms: [String: [String]] = [ - "wolverine": ["xmen", "logan"], - "logan": ["wolverine", "xmen"], - "wow": ["world of warcraft"] -] -client.index("movies").updateSynonyms(synonyms) { (result) in - switch result { - case .success(let task): - print(task) - case .failure(let error): - print(error) - } -} -``` - ```dart Dart await client.index('movies').updateSynonyms({ 'wolverine': ['xmen', 'logan'], From 3844bb64c5f75c6e3201a012c23878eb4938a5a3 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Tue, 29 Jul 2025 19:14:28 +0200 Subject: [PATCH 11/16] v1.16: Update Postman collection (#3324) --- .../misc/meilisearch-collection-postman.json | 63 ++++++++++++++++++- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/assets/misc/meilisearch-collection-postman.json b/assets/misc/meilisearch-collection-postman.json index deb15aa68..dcf5fa694 100644 --- a/assets/misc/meilisearch-collection-postman.json +++ b/assets/misc/meilisearch-collection-postman.json @@ -1,7 +1,7 @@ { "info": { - "_postman_id": "b321d331-d809-4909-8e49-e29c8d749d32", - "name": "Meilisearch v1.15", + "_postman_id": "f4b62ec3-0403-44ba-b6f4-640badbbd1b2", + "name": "Meilisearch v1.16", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "25294324" }, @@ -106,6 +106,11 @@ "key": "ids", "value": "1,2", "disabled": true + }, + { + "key": "sort", + "value": "\"price\"", + "disabled": true } ] } @@ -3159,6 +3164,60 @@ } ] }, + { + "name": "Export", + "item": [ + { + "name": "Migrate data to a remote instance", + "protocolProfileBehavior": { + "disabledSystemHeaders": {} + }, + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"url\": \"TARGET_INSTANCE_URL\",\n \"indexes\": {\n \"*\": {\n \"overrideSettings\": true\n }\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{url}}/export", + "host": [ + "{{url}}" + ], + "path": [ + "export" + ] + } + }, + "response": [] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ] + }, { "name": "Snapshots", "item": [ From 7ff91cf70785fe998ffb0a273ef7c131dc695daa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 29 Jul 2025 17:15:10 +0000 Subject: [PATCH 12/16] Update code samples [skip ci] --- .../code_samples_add_movies_json_1.mdx | 21 ++-- ...ode_samples_add_or_replace_documents_1.mdx | 39 ++++--- ...code_samples_add_or_update_documents_1.mdx | 35 +++--- ...e_samples_async_guide_filter_by_date_1.mdx | 11 ++ ...de_samples_async_guide_filter_by_ids_1.mdx | 11 ++ ...les_async_guide_filter_by_index_uids_1.mdx | 11 ++ ...mples_async_guide_filter_by_statuses_1.mdx | 16 ++- ...mples_async_guide_filter_by_statuses_2.mdx | 5 - ..._samples_async_guide_filter_by_types_1.mdx | 11 ++ ...samples_async_guide_multiple_filters_1.mdx | 16 ++- .../code_samples_authorization_header_1.mdx | 19 ++-- ...amples_basic_security_tutorial_admin_1.mdx | 11 -- ...ples_basic_security_tutorial_listing_1.mdx | 5 - ...mples_basic_security_tutorial_search_1.mdx | 8 -- .../samples/code_samples_cancel_tasks_1.mdx | 16 ++- .../samples/code_samples_create_a_key_1.mdx | 30 +++--- .../code_samples_create_an_index_1.mdx | 21 ++-- .../code_samples_create_snapshot_1.mdx | 9 +- .../code_samples_date_guide_filter_1.mdx | 25 +++-- ...les_date_guide_filterable_attributes_1.mdx | 20 ++-- .../code_samples_date_guide_index_1.mdx | 21 ++-- .../code_samples_date_guide_sort_1.mdx | 26 +++-- ...mples_date_guide_sortable_attributes_1.mdx | 20 ++-- .../samples/code_samples_delete_a_key_1.mdx | 17 +-- .../code_samples_delete_all_documents_1.mdx | 16 ++- .../code_samples_delete_an_index_1.mdx | 16 ++- ...de_samples_delete_documents_by_batch_1.mdx | 12 --- ...e_samples_delete_documents_by_filter_1.mdx | 9 -- .../code_samples_delete_one_document_1.mdx | 16 ++- .../samples/code_samples_delete_tasks_1.mdx | 16 ++- ...ode_samples_distinct_attribute_guide_1.mdx | 18 ++-- ...t_attribute_guide_distinct_parameter_1.mdx | 10 -- ..._distinct_attribute_guide_filterable_1.mdx | 11 -- .../samples/code_samples_facet_search_1.mdx | 11 -- .../samples/code_samples_facet_search_2.mdx | 11 -- .../samples/code_samples_facet_search_3.mdx | 10 -- .../samples/code_samples_faceted_search_1.mdx | 12 --- ...mples_faceted_search_update_settings_1.mdx | 9 -- ...es_faceted_search_walkthrough_filter_1.mdx | 36 ++++--- ...les_field_properties_guide_displayed_1.mdx | 29 ++--- ...es_field_properties_guide_searchable_1.mdx | 27 +++-- .../code_samples_filtering_guide_1.mdx | 25 +++-- .../code_samples_filtering_guide_2.mdx | 24 +++-- .../code_samples_filtering_guide_3.mdx | 24 +++-- .../code_samples_filtering_guide_nested_1.mdx | 25 +++-- ...de_samples_filtering_update_settings_1.mdx | 23 ++-- ...ples_geosearch_guide_filter_settings_1.mdx | 18 ++-- ...samples_geosearch_guide_filter_usage_1.mdx | 21 ++-- ...samples_geosearch_guide_filter_usage_2.mdx | 21 ++-- ...samples_geosearch_guide_filter_usage_3.mdx | 21 ++-- ...amples_geosearch_guide_sort_settings_1.mdx | 18 ++-- ...e_samples_geosearch_guide_sort_usage_1.mdx | 22 ++-- ...e_samples_geosearch_guide_sort_usage_2.mdx | 27 ++--- .../code_samples_get_all_batches_1.mdx | 5 - .../samples/code_samples_get_all_keys_1.mdx | 17 +-- .../samples/code_samples_get_all_tasks_1.mdx | 16 ++- ...ode_samples_get_all_tasks_paginating_1.mdx | 16 ++- ...ode_samples_get_all_tasks_paginating_2.mdx | 16 ++- snippets/samples/code_samples_get_batch_1.mdx | 5 - .../samples/code_samples_get_dictionary_1.mdx | 11 +- ...ode_samples_get_displayed_attributes_1.mdx | 16 ++- .../code_samples_get_distinct_attribute_1.mdx | 16 ++- .../samples/code_samples_get_documents_1.mdx | 16 ++- .../code_samples_get_documents_post_1.mdx | 11 -- .../samples/code_samples_get_embedders_1.mdx | 5 - ...de_samples_get_experimental_features_1.mdx | 5 - ...de_samples_get_facet_search_settings_1.mdx | 5 - .../code_samples_get_faceting_settings_1.mdx | 5 - ...de_samples_get_filterable_attributes_1.mdx | 16 ++- .../samples/code_samples_get_health_1.mdx | 16 ++- .../code_samples_get_index_stats_1.mdx | 16 ++- .../code_samples_get_indexes_stats_1.mdx | 16 ++- ...les_get_localized_attribute_settings_1.mdx | 5 - ...ode_samples_get_non_separator_tokens_1.mdx | 11 +- .../code_samples_get_one_document_1.mdx | 16 ++- .../samples/code_samples_get_one_index_1.mdx | 16 ++- .../samples/code_samples_get_one_key_1.mdx | 17 +-- ...code_samples_get_pagination_settings_1.mdx | 5 - ...e_samples_get_prefix_search_settings_1.mdx | 5 - ...les_get_proximity_precision_settings_1.mdx | 9 +- .../code_samples_get_ranking_rules_1.mdx | 16 ++- .../code_samples_get_search_cutoff_1.mdx | 9 +- ...de_samples_get_searchable_attributes_1.mdx | 16 ++- .../code_samples_get_separator_tokens_1.mdx | 11 +- .../samples/code_samples_get_settings_1.mdx | 16 ++- .../code_samples_get_similar_post_1.mdx | 11 -- ...code_samples_get_sortable_attributes_1.mdx | 16 ++- .../samples/code_samples_get_stop_words_1.mdx | 16 ++- .../samples/code_samples_get_synonyms_1.mdx | 16 ++- snippets/samples/code_samples_get_task_1.mdx | 16 ++- .../code_samples_get_typo_tolerance_1.mdx | 5 - .../samples/code_samples_get_version_1.mdx | 16 ++- ..._samples_getting_started_add_documents.mdx | 29 +++-- ...samples_getting_started_add_meteorites.mdx | 22 ++-- ...ples_getting_started_check_task_status.mdx | 17 +-- ...les_getting_started_configure_settings.mdx | 31 +++--- .../code_samples_getting_started_faceting.mdx | 16 +-- ...code_samples_getting_started_filtering.mdx | 22 ++-- ...code_samples_getting_started_geo_point.mdx | 22 ++-- ...ode_samples_getting_started_geo_radius.mdx | 22 ++-- ...ode_samples_getting_started_pagination.mdx | 13 +-- .../code_samples_getting_started_search.mdx | 19 ++-- .../code_samples_getting_started_sorting.mdx | 26 +++-- .../code_samples_getting_started_synonyms.mdx | 25 +++-- ...samples_getting_started_typo_tolerance.mdx | 13 +-- ...ng_started_update_displayed_attributes.mdx | 23 ++-- ...s_getting_started_update_ranking_rules.mdx | 37 ++++--- ...g_started_update_searchable_attributes.mdx | 19 ++-- ...ples_getting_started_update_stop_words.mdx | 19 ++-- ...ex_settings_tutorial_api_get_setting_1.mdx | 5 - ...ex_settings_tutorial_api_put_setting_1.mdx | 10 -- ...les_index_settings_tutorial_api_task_1.mdx | 5 - ...code_samples_landing_getting_started_1.mdx | 23 ++++ .../code_samples_list_all_indexes_1.mdx | 16 ++- .../samples/code_samples_multi_search_1.mdx | 24 ----- .../code_samples_multi_search_federated_1.mdx | 19 ---- .../code_samples_negative_search_1.mdx | 7 -- .../code_samples_negative_search_2.mdx | 7 -- .../samples/code_samples_phrase_search_1.mdx | 20 ++-- snippets/samples/code_samples_post_dump_1.mdx | 16 ++- ...y_field_guide_add_document_primary_key.mdx | 41 +++---- ...y_field_guide_create_index_primary_key.mdx | 21 ++-- ...ield_guide_update_document_primary_key.mdx | 18 ++-- ...ode_samples_related_results_embedder_1.mdx | 16 --- .../code_samples_related_results_search_1.mdx | 12 --- ...code_samples_related_results_similar_1.mdx | 11 -- .../code_samples_reset_dictionary_1.mdx | 11 +- ...e_samples_reset_displayed_attributes_1.mdx | 16 ++- ...ode_samples_reset_distinct_attribute_1.mdx | 16 ++- .../code_samples_reset_embedders_1.mdx | 5 - ..._samples_reset_facet_search_settings_1.mdx | 5 - ...code_samples_reset_faceting_settings_1.mdx | 5 - ..._samples_reset_filterable_attributes_1.mdx | 16 ++- ...s_reset_localized_attribute_settings_1.mdx | 5 - ...e_samples_reset_non_separator_tokens_1.mdx | 11 +- ...de_samples_reset_pagination_settings_1.mdx | 5 - ...samples_reset_prefix_search_settings_1.mdx | 5 - ...s_reset_proximity_precision_settings_1.mdx | 9 +- .../code_samples_reset_ranking_rules_1.mdx | 16 ++- .../code_samples_reset_search_cutoff_1.mdx | 9 +- ..._samples_reset_searchable_attributes_1.mdx | 16 ++- .../code_samples_reset_separator_tokens_1.mdx | 11 +- .../samples/code_samples_reset_settings_1.mdx | 16 ++- ...de_samples_reset_sortable_attributes_1.mdx | 16 ++- .../code_samples_reset_stop_words_1.mdx | 16 ++- .../samples/code_samples_reset_synonyms_1.mdx | 16 ++- .../code_samples_reset_typo_tolerance_1.mdx | 5 - .../samples/code_samples_search_get_1.mdx | 5 - ...ameter_guide_attributes_to_search_on_1.mdx | 22 ++-- ..._samples_search_parameter_guide_crop_1.mdx | 26 +++-- ...s_search_parameter_guide_crop_marker_1.mdx | 26 +++-- ...s_search_parameter_guide_facet_stats_1.mdx | 10 -- ...les_search_parameter_guide_highlight_1.mdx | 24 +++-- ...search_parameter_guide_highlight_tag_1.mdx | 28 ++--- ...s_search_parameter_guide_hitsperpage_1.mdx | 22 ++-- ...amples_search_parameter_guide_hybrid_1.mdx | 12 --- ...samples_search_parameter_guide_limit_1.mdx | 24 +++-- ...ch_parameter_guide_matching_strategy_1.mdx | 10 -- ...ch_parameter_guide_matching_strategy_2.mdx | 10 -- ...ch_parameter_guide_matching_strategy_3.mdx | 10 -- ...amples_search_parameter_guide_offset_1.mdx | 24 +++-- ..._samples_search_parameter_guide_page_1.mdx | 22 ++-- ...samples_search_parameter_guide_query_1.mdx | 18 ++-- ...ples_search_parameter_guide_retrieve_1.mdx | 27 ++--- ...arameter_guide_show_matches_position_1.mdx | 24 +++-- ...h_parameter_guide_show_ranking_score_1.mdx | 22 ++-- ...ter_guide_show_ranking_score_details_1.mdx | 15 +-- ..._samples_search_parameter_guide_sort_1.mdx | 25 +++-- ...amples_search_parameter_guide_vector_1.mdx | 11 -- ..._search_parameter_reference_distinct_1.mdx | 10 -- ...s_search_parameter_reference_locales_1.mdx | 10 -- ...er_reference_ranking_score_threshold_1.mdx | 10 -- ...parameter_reference_retrieve_vectors_1.mdx | 12 --- .../samples/code_samples_search_post_1.mdx | 19 ++-- ...de_samples_security_guide_create_key_1.mdx | 32 +++--- ...de_samples_security_guide_delete_key_1.mdx | 19 ++-- ...ode_samples_security_guide_list_keys_1.mdx | 19 ++-- ...de_samples_security_guide_search_key_1.mdx | 19 ++-- ...de_samples_security_guide_update_key_1.mdx | 22 ++-- ...de_samples_sorting_guide_sort_nested_1.mdx | 25 +++-- ...samples_sorting_guide_sort_parameter_1.mdx | 25 +++-- ...samples_sorting_guide_sort_parameter_2.mdx | 25 +++-- ...s_sorting_guide_update_ranking_rules_1.mdx | 33 +++--- ...ing_guide_update_sortable_attributes_1.mdx | 21 ++-- .../samples/code_samples_swap_indexes_1.mdx | 27 ++--- .../samples/code_samples_synonyms_guide_1.mdx | 25 +++-- .../code_samples_typo_tolerance_guide_1.mdx | 7 -- .../code_samples_typo_tolerance_guide_2.mdx | 7 -- .../code_samples_typo_tolerance_guide_3.mdx | 11 -- .../code_samples_typo_tolerance_guide_4.mdx | 12 --- .../code_samples_typo_tolerance_guide_5.mdx | 9 -- .../samples/code_samples_update_a_key_1.mdx | 27 +++-- .../code_samples_update_an_index_1.mdx | 18 ++-- .../code_samples_update_dictionary_1.mdx | 16 ++- ..._samples_update_displayed_attributes_1.mdx | 24 ++--- ...de_samples_update_distinct_attribute_1.mdx | 18 ++-- .../code_samples_update_embedders_1.mdx | 14 --- ...samples_update_experimental_features_1.mdx | 9 -- ...samples_update_facet_search_settings_1.mdx | 7 -- ...ode_samples_update_faceting_settings_1.mdx | 13 --- ...samples_update_filterable_attributes_1.mdx | 31 ++---- ..._update_localized_attribute_settings_1.mdx | 9 -- ..._samples_update_non_separator_tokens_1.mdx | 13 ++- ...e_samples_update_pagination_settings_1.mdx | 9 -- ...amples_update_prefix_search_settings_1.mdx | 7 -- ..._update_proximity_precision_settings_1.mdx | 11 +- .../code_samples_update_ranking_rules_1.mdx | 37 ++++--- .../code_samples_update_search_cutoff_1.mdx | 11 +- ...samples_update_searchable_attributes_1.mdx | 23 ++-- ...code_samples_update_separator_tokens_1.mdx | 13 ++- .../code_samples_update_settings_1.mdx | 101 +++++++----------- ...e_samples_update_sortable_attributes_1.mdx | 21 ++-- .../code_samples_update_stop_words_1.mdx | 23 ++-- .../code_samples_update_synonyms_1.mdx | 33 +++--- .../code_samples_update_typo_tolerance_1.mdx | 13 --- 215 files changed, 1821 insertions(+), 1811 deletions(-) diff --git a/snippets/samples/code_samples_add_movies_json_1.mdx b/snippets/samples/code_samples_add_movies_json_1.mdx index 7248a315f..7359e67d1 100644 --- a/snippets/samples/code_samples_add_movies_json_1.mdx +++ b/snippets/samples/code_samples_add_movies_json_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/documents'\ - -H 'Content-Type: application/json' \ - --data-binary @movies.json -``` - ```javascript JS const movies = require('./movies.json') client.index('movies').addDocuments(movies).then((res) => console.log(res)) @@ -103,6 +96,20 @@ fn main() { block_on(async move { })} ``` +```swift Swift +let path = Bundle.main.url(forResource: "movies", withExtension: "json")! +let documents: Data = try Data(contentsOf: path) + +client.index("movies").addDocuments(documents: documents) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart // import 'dart:io'; // import 'dart:convert'; diff --git a/snippets/samples/code_samples_add_or_replace_documents_1.mdx b/snippets/samples/code_samples_add_or_replace_documents_1.mdx index c830270cb..342009ebd 100644 --- a/snippets/samples/code_samples_add_or_replace_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_replace_documents_1.mdx @@ -1,20 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/documents' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - { - "id": 287947, - "title": "Shazam", - "poster": "https://image.tmdb.org/t/p/w1280/xnopI5Xtky18MPhK40cZAGAOVeV.jpg", - "overview": "A boy is given the ability to become an adult superhero in times of need with a single magic word.", - "release_date": "2019-03-23" - } - ]' -``` - ```javascript JS client.index('movies').addDocuments([{ id: 287947, @@ -114,6 +99,30 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let documentJsonString = """ +[ + { + "reference_number": 287947, + "title": "Shazam", + "poster": "https://image.tmdb.org/t/p/w1280/xnopI5Xtky18MPhK40cZAGAOVeV.jpg", + "overview": "A boy is given the ability to become an adult superhero in times of need with a single magic word.", + "release_date": "2019-03-23" + } +] +""" +let documents: Data = documentJsonString.data(using: .utf8)! + +client.index("movies").addDocuments(documents: documents) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').addDocuments([ { diff --git a/snippets/samples/code_samples_add_or_update_documents_1.mdx b/snippets/samples/code_samples_add_or_update_documents_1.mdx index 7540528a4..5f35a1e1c 100644 --- a/snippets/samples/code_samples_add_or_update_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_update_documents_1.mdx @@ -1,18 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/documents' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - { - "id": 287947, - "title": "Shazam ⚡️", - "genres": "comedy" - } - ]' -``` - ```javascript JS client.index('movies').updateDocuments([{ id: 287947, @@ -97,6 +84,28 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let documentJsonString = """ +[ + { + "reference_number": 287947, + "title": "Shazam ⚡️", + "genres": "comedy" + } +] +""" +let documents: Data = documentJsonString.data(using: .utf8)! + +client.index("movies").updateDocuments(documents: documents) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateDocuments([ { diff --git a/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx index 0d0b199e9..71dde2562 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_date_1.mdx @@ -48,6 +48,17 @@ let tasks = query .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(afterEnqueuedAt: dateFormatter.date(from: "2020-10-11T11:49:53.000Z"))) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx index 7598b725e..6cb6ea208 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_ids_1.mdx @@ -40,6 +40,17 @@ let tasks = query .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(uids: [5, 10, 13])) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx index 7b0d0ad78..93f6a2f07 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_index_uids_1.mdx @@ -40,6 +40,17 @@ let tasks = query .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(indexUids: ["movies"])) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks(params: TasksQuery(indexUids: ['movies'])); ``` 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 81182ac75..91dc13b0d 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 @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks?statuses=failed' -``` - ```javascript JS client.tasks.getTasks({ statuses: ['failed', 'canceled'] }) ``` @@ -48,6 +43,17 @@ let tasks = query .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(statuses: [.failed, .canceled])) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks( params: TasksQuery( 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 985a91b0b..e9269c637 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 @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks?statuses=failed,canceled' -``` - ```rust Rust let mut query = TasksQuery::new(&client); let tasks = query diff --git a/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx b/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx index c7e2d4029..ae03564fb 100644 --- a/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx +++ b/snippets/samples/code_samples_async_guide_filter_by_types_1.mdx @@ -43,6 +43,17 @@ let tasks = query .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(types: [.dumpCreation, .indexSwap])) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx b/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx index 7c57f0647..234a2977c 100644 --- a/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx +++ b/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks?indexUids=movies&types=documentAdditionOrUpdate,documentDeletion&statuses=processing' -``` - ```javascript JS client.tasks.getTasks({ indexUids: ['movies'], @@ -76,6 +71,17 @@ let tasks = query .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(indexUids: "movies", types: ["documentAdditionOrUpdate", "documentDeletion"], statuses: ["processing"])) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks( params: TasksQuery( diff --git a/snippets/samples/code_samples_authorization_header_1.mdx b/snippets/samples/code_samples_authorization_header_1.mdx index f616b1ca7..f0fc52edb 100644 --- a/snippets/samples/code_samples_authorization_header_1.mdx +++ b/snippets/samples/code_samples_authorization_header_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -# replace the MASTER_KEY placeholder with your master key -curl \ - -X GET 'MEILISEARCH_URL/keys' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.getKeys() @@ -46,6 +39,18 @@ var keys = await client.GetKeysAsync(); let client = Client::new("http://localhost:7700", Some("masterKey")); let keys = client .get_keys() .await .unwrap(); ``` +```swift Swift +client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") +client.getKeys { result in + switch result { + case .success(let keys): + print(keys) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.getKeys(); 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 e0c803c2b..a4abc53c2 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer DEFAULT_ADMIN_API_KEY' \ - --data-binary '{ - "uid": "medical_records", - "primaryKey": "id" - }' -``` - ```rust Rust let client = Client::new("http://localhost:7700", Some("DEFAULT_ADMIN_API_KEY")); let task = client 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 a9d2c5be0..2c9e05825 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl -X GET 'MEILISEARCH_URL/keys' \ --H 'Authorization: Bearer MASTER_KEY' -``` - ```rust Rust let client = Client::new("http://localhost:7700", Some("MASTER_KEY")); client 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 edbef1caf..0194e32b1 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx @@ -1,13 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/medical_records/search' \ - -H 'Content-Type: application/json' \ - -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"); diff --git a/snippets/samples/code_samples_cancel_tasks_1.mdx b/snippets/samples/code_samples_cancel_tasks_1.mdx index e4a2d8f34..3aa9398ea 100644 --- a/snippets/samples/code_samples_cancel_tasks_1.mdx +++ b/snippets/samples/code_samples_cancel_tasks_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/tasks/cancel?uids=1,2' -``` - ```javascript JS client.tasks.cancelTasks({ uids: [1, 2] }) ``` @@ -43,6 +38,17 @@ query.with_uids([1, 2]); let res = client.cancel_task_with(&query).await.unwrap(); ``` +```swift Swift +client.cancelTasks(filter: CancelTasksQuery(uids: [1, 2])) { (result) in + switch result { + case .success(let taskInfo): + print(taskInfo) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.cancelTasks(params: CancelTasksQuery(uids: [1, 2])); ``` diff --git a/snippets/samples/code_samples_create_a_key_1.mdx b/snippets/samples/code_samples_create_a_key_1.mdx index adb549fd4..5e5e38899 100644 --- a/snippets/samples/code_samples_create_a_key_1.mdx +++ b/snippets/samples/code_samples_create_a_key_1.mdx @@ -1,18 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/keys' \ - -H 'Authorization: Bearer MASTER_KEY' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "description": "Add documents: Products API key", - "actions": ["documents.add"], - "indexes": ["products"], - "expiresAt": "2042-04-02T00:42:42Z" - }' -``` - ```javascript JS client.createKey({ description: 'Add documents: Products API key', @@ -96,6 +83,23 @@ let new_key = client .unwrap(); ``` +```swift Swift +let keyParams = KeyParams( + description: "Add documents: Products API key", + actions: ["documents.add"], + indexes: ["products"], + expiresAt: "2042-04-02T00:42:42Z" +) +client.createKey(keyParams) { result in + switch result { + case .success(let key): + print(key) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.createKey( description: 'Add documents: Products API key', diff --git a/snippets/samples/code_samples_create_an_index_1.mdx b/snippets/samples/code_samples_create_an_index_1.mdx index fadc1b9af..762e51edb 100644 --- a/snippets/samples/code_samples_create_an_index_1.mdx +++ b/snippets/samples/code_samples_create_an_index_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "uid": "movies", - "primaryKey": "id" - }' -``` - ```javascript JS client.createIndex('movies', { primaryKey: 'id' }) ``` @@ -47,6 +37,17 @@ client.create_index("movies", Some("id")) .unwrap(); ``` +```swift Swift +client.createIndex(uid: "movies", primaryKey: "id") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.createIndex('movies', primaryKey: 'id'); ``` diff --git a/snippets/samples/code_samples_create_snapshot_1.mdx b/snippets/samples/code_samples_create_snapshot_1.mdx index bb550bb9c..6689ce406 100644 --- a/snippets/samples/code_samples_create_snapshot_1.mdx +++ b/snippets/samples/code_samples_create_snapshot_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/snapshots' -``` - ```javascript JS client.createSnapshot() ``` @@ -39,4 +34,8 @@ client .await .unwrap(); ``` + +```swift Swift +let task = try await self.client.createSnapshot() +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_date_guide_filter_1.mdx b/snippets/samples/code_samples_date_guide_filter_1.mdx index f5115e3f7..834342c0b 100644 --- a/snippets/samples/code_samples_date_guide_filter_1.mdx +++ b/snippets/samples/code_samples_date_guide_filter_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/games/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "", - "filter": "release_timestamp >= 1514761200 AND release_timestamp < 1672527600" - }' -``` - ```javascript JS client.index('games').search('', { filter: 'release_timestamp >= 1514761200 AND release_timestamp < 1672527600' @@ -60,6 +50,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + filter: "release_timestamp >= 1514761200 AND release_timestamp < 1672527600" +) +client.index("games").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('games').search( '', diff --git a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx index 9a8687dc6..f39615ed0 100644 --- a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/games/settings/filterable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "release_timestamp" - ]' -``` - ```javascript JS client.index('games').updateFilterableAttributes(['release_timestamp']) ``` @@ -49,6 +40,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("games").updateFilterableAttributes(["release_timestamp"]) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('games') diff --git a/snippets/samples/code_samples_date_guide_index_1.mdx b/snippets/samples/code_samples_date_guide_index_1.mdx index afacf30f1..b6ef1310d 100644 --- a/snippets/samples/code_samples_date_guide_index_1.mdx +++ b/snippets/samples/code_samples_date_guide_index_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -x POST 'MEILISEARCH_URL/indexes/games/documents' \ - -h 'content-type: application/json' \ - --data-binary @games.json -``` - ```javascript JS const games = require('./games.json') client.index('games').addDocuments(games).then((res) => console.log(res)) @@ -81,6 +74,20 @@ client .unwrap(); ``` +```swift Swift +let path = Bundle.main.url(forResource: "games", withExtension: "json")! +let documents: Data = try Data(contentsOf: path) + +client.index("games").addDocuments(documents: documents) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart //import 'dart:io'; //import 'dart:convert'; diff --git a/snippets/samples/code_samples_date_guide_sort_1.mdx b/snippets/samples/code_samples_date_guide_sort_1.mdx index 29a0df96f..af654fae7 100644 --- a/snippets/samples/code_samples_date_guide_sort_1.mdx +++ b/snippets/samples/code_samples_date_guide_sort_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/games/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "", - "sort": ["release_timestamp:desc"] - }' -``` - ```javascript JS client.index('games').search('', { sort: ['release_timestamp:desc'], @@ -58,6 +48,22 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + sort: ["release_timestamp:desc"], +) + +client.index("games").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('games') diff --git a/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx b/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx index 59d1af647..7d3d59b22 100644 --- a/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/games/settings/sortable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "release_timestamp" - ]' -``` - ```javascript JS client.index('games').updateSortableAttributes(['release_timestamp']) ``` @@ -51,6 +42,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("games").updateSortableAttributes(["release_timestamp"]) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('games') diff --git a/snippets/samples/code_samples_delete_a_key_1.mdx b/snippets/samples/code_samples_delete_a_key_1.mdx index 52e7e1f9d..eaef509aa 100644 --- a/snippets/samples/code_samples_delete_a_key_1.mdx +++ b/snippets/samples/code_samples_delete_a_key_1.mdx @@ -1,11 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/keys/6062abda-a5aa-4414-ac91-ecd7944c0f8d' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - ```javascript JS client.deleteKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d') ``` @@ -44,6 +38,17 @@ client .await?; ``` +```swift Swift +client.deleteKey(keyOrUid: "6062abda-a5aa-4414-ac91-ecd7944c0f8d") { result in + switch result { + case .success: + print("success") + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.deleteKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d'); ``` diff --git a/snippets/samples/code_samples_delete_all_documents_1.mdx b/snippets/samples/code_samples_delete_all_documents_1.mdx index 7193d49ec..4777877ca 100644 --- a/snippets/samples/code_samples_delete_all_documents_1.mdx +++ b/snippets/samples/code_samples_delete_all_documents_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/documents' -``` - ```javascript JS client.index('movies').deleteAllDocuments() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").deleteAllDocuments() { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').deleteAllDocuments(); ``` diff --git a/snippets/samples/code_samples_delete_an_index_1.mdx b/snippets/samples/code_samples_delete_an_index_1.mdx index dcadb8fdc..e6366863a 100644 --- a/snippets/samples/code_samples_delete_an_index_1.mdx +++ b/snippets/samples/code_samples_delete_an_index_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies' -``` - ```javascript JS client.deleteIndex('movies') ``` @@ -44,6 +39,17 @@ client.index("movies") .unwrap(); ``` +```swift Swift +client.index("movies").delete { (result) in + switch result { + case .success: + print("Index deleted") + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').delete(); ``` diff --git a/snippets/samples/code_samples_delete_documents_by_batch_1.mdx b/snippets/samples/code_samples_delete_documents_by_batch_1.mdx index 9ebd463c7..414377ae1 100644 --- a/snippets/samples/code_samples_delete_documents_by_batch_1.mdx +++ b/snippets/samples/code_samples_delete_documents_by_batch_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/documents/delete-batch' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - 23488, - 153738, - 437035, - 363869 - ]' -``` - ```javascript JS client.index('movies').deleteDocuments([23488, 153738, 437035, 363869]) ``` diff --git a/snippets/samples/code_samples_delete_documents_by_filter_1.mdx b/snippets/samples/code_samples_delete_documents_by_filter_1.mdx index 2e9ba4d76..e89a77709 100644 --- a/snippets/samples/code_samples_delete_documents_by_filter_1.mdx +++ b/snippets/samples/code_samples_delete_documents_by_filter_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X POST MEILISEARCH_URL/indexes/movies/documents/delete \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "filter": "genres = action OR genres = adventure" - }' -``` - ```javascript JS client.index('movies').deleteDocuments({ filter: 'genres = action OR genres = adventure' diff --git a/snippets/samples/code_samples_delete_one_document_1.mdx b/snippets/samples/code_samples_delete_one_document_1.mdx index 45afa620f..325e591d1 100644 --- a/snippets/samples/code_samples_delete_one_document_1.mdx +++ b/snippets/samples/code_samples_delete_one_document_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/documents/25684' -``` - ```javascript JS client.index('movies').deleteDocument(25684) ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").deleteDocument("25684") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').deleteDocument(25684); ``` diff --git a/snippets/samples/code_samples_delete_tasks_1.mdx b/snippets/samples/code_samples_delete_tasks_1.mdx index 46093c24c..b2010f079 100644 --- a/snippets/samples/code_samples_delete_tasks_1.mdx +++ b/snippets/samples/code_samples_delete_tasks_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/tasks?uids=1,2' -``` - ```javascript JS client.tasks.deleteTasks({ uids: [1, 2] }) ``` @@ -43,6 +38,17 @@ query.with_uids([1, 2]); let res = client.delete_tasks_with(&query).await.unwrap(); ``` +```swift Swift +client.deleteTasks(filter: DeleteTasksQuery(uids: [1, 2])) { (result) in + switch result { + case .success(let taskInfo): + print(taskInfo) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.deleteTasks(params: DeleteTasksQuery(uids: [1, 2])); ``` diff --git a/snippets/samples/code_samples_distinct_attribute_guide_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_1.mdx index b0e6ff6d5..1f9e63ee0 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/jackets/settings/distinct-attribute' \ - -H 'Content-Type: application/json' \ - --data-binary '"product_id"' -``` - ```javascript JS client.index('jackets').updateDistinctAttribute('product_id') ``` @@ -43,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("jackets").updateDistinctAttribute("product_id") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('jackets').updateDistinctAttribute('product_id'); ``` diff --git a/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx index 83cceeb0d..9bed4ff9a 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/products/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "white shirt", - "distinct": "sku" - }' -``` - ```javascript JS client.index('products').search('white shirt', { distinct: 'sku' }) ``` diff --git a/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx index 7412dfadb..8078813d9 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/products/settings/filterable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "product_id", - "sku", - "url" - ]' -``` - ```javascript JS client.index('products').updateFilterableAttributes(['product_id', 'sku', 'url']) ``` diff --git a/snippets/samples/code_samples_facet_search_1.mdx b/snippets/samples/code_samples_facet_search_1.mdx index da8b4b9c9..5709b6f73 100644 --- a/snippets/samples/code_samples_facet_search_1.mdx +++ b/snippets/samples/code_samples_facet_search_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/facet-search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "facetQuery": "fiction", - "facetName": "genres", - "filter": "rating > 3" - }' -``` - ```javascript JS client.index('books').searchForFacetValues({ facetQuery: 'fiction', diff --git a/snippets/samples/code_samples_facet_search_2.mdx b/snippets/samples/code_samples_facet_search_2.mdx index 6f56f8435..9172bdc6e 100644 --- a/snippets/samples/code_samples_facet_search_2.mdx +++ b/snippets/samples/code_samples_facet_search_2.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/books/settings/faceting' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "sortFacetValuesBy": { - "genres": "count" - } -}' -``` - ```javascript JS client.index('books').updateFaceting({ sortFacetValuesBy: { diff --git a/snippets/samples/code_samples_facet_search_3.mdx b/snippets/samples/code_samples_facet_search_3.mdx index 70c2bcdc9..9f03edd91 100644 --- a/snippets/samples/code_samples_facet_search_3.mdx +++ b/snippets/samples/code_samples_facet_search_3.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/facet-search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "facetQuery": "c", - "facetName": "genres" -}' -``` - ```javascript JS client.index('books').searchForFacetValues({ facetQuery: 'c', diff --git a/snippets/samples/code_samples_faceted_search_1.mdx b/snippets/samples/code_samples_faceted_search_1.mdx index ff42bd551..200135c92 100644 --- a/snippets/samples/code_samples_faceted_search_1.mdx +++ b/snippets/samples/code_samples_faceted_search_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "classic", - "facets": [ - "genres", "rating", "language" - ] -}' -``` - ```javascript JS client.index('books').search('classic', { facets: ['genres', 'rating', 'language'] }) ``` diff --git a/snippets/samples/code_samples_faceted_search_update_settings_1.mdx b/snippets/samples/code_samples_faceted_search_update_settings_1.mdx index 7b5255a44..28d5f924d 100644 --- a/snippets/samples/code_samples_faceted_search_update_settings_1.mdx +++ b/snippets/samples/code_samples_faceted_search_update_settings_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/books/settings/filterable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "genres", "rating", "language" - ]' -``` - ```javascript JS client.index('movie_ratings').updateFilterableAttributes(['genres', 'rating', 'language']) ``` diff --git a/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx b/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx index e4539097a..2d3b6ab05 100644 --- a/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx +++ b/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx @@ -1,21 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "thriller", - "filter": [ - [ - "genres = Horror", - "genres = Mystery" - ], - "director = \"Jordan Peele\"" - ] - }' -``` - ```javascript JS client.index('movies') .search('thriller', { @@ -77,6 +61,26 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "thriller", + filter: [ + [ + "genres = Horror", + "genres = Mystery" + ], + "director = \"Jordan Peele\"" + ]) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search( 'thriller', diff --git a/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx b/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx index 6ef242873..9bd2a5488 100644 --- a/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx +++ b/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "title", - "overview", - "genres", - "release_date" - ]' -``` - ```javascript JS client.index('movies').updateDisplayedAttributes([ 'title', @@ -91,6 +79,23 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let displayedAttributes: [String] = [ + "title", + "overview", + "genres", + "release_date" +] +client.index("movies").updateDisplayedAttributes(displayedAttributes) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateDisplayedAttributes([ 'title', diff --git a/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx b/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx index 7b30822fe..f79315545 100644 --- a/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx +++ b/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "title", - "overview", - "genres" - ]' -``` - ```javascript JS client.index('movies').updateSearchableAttributes([ 'title', @@ -81,6 +70,22 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let searchableAttributes: [String] = [ + "title", + "overview", + "genres" +] +client.index("movies").updateSearchableAttributes(searchableAttributes) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_filtering_guide_1.mdx b/snippets/samples/code_samples_filtering_guide_1.mdx index d8e44fe88..a29bda2b7 100644 --- a/snippets/samples/code_samples_filtering_guide_1.mdx +++ b/snippets/samples/code_samples_filtering_guide_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "Avengers", - "filter": "release_date > 795484800" - }' -``` - ```javascript JS client.index('movie_ratings').search('Avengers', { filter: 'release_date > 795484800' @@ -59,6 +49,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "Avengers", + filter: "release_date > 795484800" +) +client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movie_ratings').search( 'Avengers', diff --git a/snippets/samples/code_samples_filtering_guide_2.mdx b/snippets/samples/code_samples_filtering_guide_2.mdx index 38107e98d..6fee7a67d 100644 --- a/snippets/samples/code_samples_filtering_guide_2.mdx +++ b/snippets/samples/code_samples_filtering_guide_2.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "Batman", - "filter": "release_date > 795484800 AND (director = \"Tim Burton\" OR director = \"Christopher Nolan\")" - }' -``` - ```javascript JS client.index('movie_ratings').search('Batman', { filter: 'release_date > 795484800 AND (director = "Tim Burton" OR director = "Christopher Nolan")' @@ -62,6 +52,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "Batman", + filter: "release_date > 795484800 AND (director = \"Tim Burton\" OR director = \"Christopher Nolan\"") +client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movie_ratings').search( 'Batman', diff --git a/snippets/samples/code_samples_filtering_guide_3.mdx b/snippets/samples/code_samples_filtering_guide_3.mdx index 70d6dc5cc..098513380 100644 --- a/snippets/samples/code_samples_filtering_guide_3.mdx +++ b/snippets/samples/code_samples_filtering_guide_3.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "Planet of the Apes", - "filter": "release_date > 1577884550 AND (NOT director = \"Tim Burton\")" - }' \ -``` - ```javascript JS client.index('movie_ratings').search('Planet of the Apes', { filter: "release_date > 1577884550 AND (NOT director = \"Tim Burton\")" @@ -61,6 +51,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "Planet of the Apes", + filter: "release_date > 1577884550 AND (NOT director = \"Tim Burton\")) +client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movie_ratings').search( 'Planet of the Apes', diff --git a/snippets/samples/code_samples_filtering_guide_nested_1.mdx b/snippets/samples/code_samples_filtering_guide_nested_1.mdx index 4c2ad6aec..4a42f1fcb 100644 --- a/snippets/samples/code_samples_filtering_guide_nested_1.mdx +++ b/snippets/samples/code_samples_filtering_guide_nested_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "thriller", - "filter": "rating.users >= 90" - }' -``` - ```javascript JS client.index('movie_ratings').search('thriller', { filter: 'rating.users >= 90' @@ -61,6 +51,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "thriller", + filter: "rating.users >= 90" +) +client.index("movie_ratings").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movie_ratings').search( 'thriller', diff --git a/snippets/samples/code_samples_filtering_update_settings_1.mdx b/snippets/samples/code_samples_filtering_update_settings_1.mdx index d661771c3..253782cff 100644 --- a/snippets/samples/code_samples_filtering_update_settings_1.mdx +++ b/snippets/samples/code_samples_filtering_update_settings_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movie_ratings/settings/filterable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "genres", - "director", - "release_date", - "ratings" - ]' -``` - ```javascript JS client.index('movies') .updateFilterableAttributes([ @@ -65,6 +53,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").updateFilterableAttributes(["genre", "director"]) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateFilterableAttributes([ 'director', diff --git a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx index d6c946691..8fe31dd2c 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/restaurants/settings/filterable-attributes' \ - -H 'Content-type:application/json' \ - --data-binary '["_geo"]' -``` - ```javascript JS client.index('restaurants') .updateFilterableAttributes([ @@ -56,6 +49,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("restaurants").updateFilterableAttributes(["_geo"]) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('restaurants').updateFilterableAttributes(['_geo']); ``` diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx index 2cff52685..63431bd69 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ - -H 'Content-type:application/json' \ - --data-binary '{ "filter": "_geoRadius(45.472735, 9.184019, 2000)" }' -``` - ```javascript JS client.index('restaurants').search('', { filter: ['_geoRadius(45.472735, 9.184019, 2000)'], @@ -55,6 +48,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + filter: "_geoRadius(45.472735, 9.184019, 2000)" +) +client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx index e1ec408ff..781174813 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ - -H 'Content-type:application/json' \ - --data-binary '{ "filter": "_geoRadius(45.472735, 9.184019, 2000) AND type = pizza" }' -``` - ```javascript JS client.index('restaurants').search('', { filter: ['_geoRadius(45.472735, 9.184019, 2000) AND type = pizza'], @@ -59,6 +52,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + filter: "_geoRadius(45.472735, 9.184019, 2000) AND type = pizza" +) +client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx index c2635cb9b..c709a1de0 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ - -H 'Content-type:application/json' \ - --data-binary '{ "filter": "_geoBoundingBox([45.494181, 9.214024], [45.449484, 9.179175])" }' -``` - ```javascript JS client.index('restaurants').search('', { filter: ['_geoBoundingBox([45.494181, 9.214024], [45.449484, 9.179175])'], @@ -60,6 +53,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + filter: "_geoBoundingBox([45.494181, 9.214024], [45.449484, 9.179175])" +) +client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx b/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx index 0a463f475..6d1959b31 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/restaurants/settings/sortable-attributes' \ - -H 'Content-type:application/json' \ - --data-binary '["_geo"]' -``` - ```javascript JS client.index('restaurants').updateSortableAttributes([ '_geo' @@ -53,6 +46,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("restaurants").updateSortableAttributes(["_geo"]) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('restaurants').updateSortableAttributes(['_geo']); ``` diff --git a/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx b/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx index f953b5ea5..3f09bf0aa 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ - -H 'Content-type:application/json' \ - --data-binary '{ "sort": ["_geoPoint(48.8561446,2.2978204):asc"] }' -``` - ```javascript JS client.index('restaurants').search('', { sort: ['_geoPoint(48.8561446, 2.2978204):asc'], @@ -61,6 +54,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + sort: ["_geoPoint(48.8561446, 2.2978204):asc"] +) +client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } + } +``` + ```dart Dart await client.index('restaurants').search( '', SearchQuery(sort: ['_geoPoint(48.8561446, 2.2978204):asc'])); diff --git a/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx b/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx index 45a185863..6015f357d 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ - -H 'Content-type:application/json' \ - --data-binary '{ - "sort": [ - "_geoPoint(48.8561446,2.2978204):asc", - "rating:desc" - ] - }' -``` - ```javascript JS client.index('restaurants').search('', { sort: ['_geoPoint(48.8561446, 2.2978204):asc', 'rating:desc'], @@ -73,6 +61,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + sort: ["_geoPoint(48.8561446, 2.2978204):asc", "rating:desc"] +) +client.index("restaurants").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('restaurants').search( '', diff --git a/snippets/samples/code_samples_get_all_batches_1.mdx b/snippets/samples/code_samples_get_all_batches_1.mdx index 403117765..d741de0d8 100644 --- a/snippets/samples/code_samples_get_all_batches_1.mdx +++ b/snippets/samples/code_samples_get_all_batches_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'http://MEILISEARCH_URL/batches' -``` - ```javascript JS client.batches.getBatches(); ``` diff --git a/snippets/samples/code_samples_get_all_keys_1.mdx b/snippets/samples/code_samples_get_all_keys_1.mdx index e365cb005..bbb56cb51 100644 --- a/snippets/samples/code_samples_get_all_keys_1.mdx +++ b/snippets/samples/code_samples_get_all_keys_1.mdx @@ -1,11 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/keys?limit=3' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - ```javascript JS client.getKeys({ limit: 3 }) ``` @@ -45,6 +39,17 @@ let mut query = KeysQuery::new() .unwrap(); ``` +```swift Swift +client.getKeys(params: KeysQuery(limit: 3)) { result in + switch result { + case .success(let keys): + print(keys) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getKeys(params: KeysQuery(limit: 3)); ``` diff --git a/snippets/samples/code_samples_get_all_tasks_1.mdx b/snippets/samples/code_samples_get_all_tasks_1.mdx index 544a28240..4d2ee2859 100644 --- a/snippets/samples/code_samples_get_all_tasks_1.mdx +++ b/snippets/samples/code_samples_get_all_tasks_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks' -``` - ```javascript JS client.tasks.getTasks() ``` @@ -41,6 +36,17 @@ let tasks: TasksResults = client .unwrap(); ``` +```swift Swift +client.getTasks { (result) in + switch result { + case .success(let tasks): + print(tasks) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks(); ``` diff --git a/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx b/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx index e5f1ac210..4d1895ff7 100644 --- a/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx +++ b/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks?limit=2&from=10 -``` - ```javascript JS client.tasks.getTasks({ limit: 2, from: 10 }) ``` @@ -53,6 +48,17 @@ let mut query = TasksSearchQuery::new(&client) .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(limit: 2, from: 10)) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks(params: TasksQuery(limit: 2, from: 10)); ``` diff --git a/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx b/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx index 5b9257340..3e4f01b68 100644 --- a/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx +++ b/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks?limit=2&from=8 -``` - ```javascript JS client.tasks.getTasks({ limit: 2, from: 8 }) ``` @@ -53,6 +48,17 @@ let mut query = TasksSearchQuery::new(&client) .unwrap(); ``` +```swift Swift +client.getTasks(params: TasksQuery(limit: 2, from: 8)) { result in + switch result { + case .success(let taskResult): + print(taskResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTasks(params: TasksQuery(limit: 2, from: 8)); ``` diff --git a/snippets/samples/code_samples_get_batch_1.mdx b/snippets/samples/code_samples_get_batch_1.mdx index a7bc333b1..48b7f6d27 100644 --- a/snippets/samples/code_samples_get_batch_1.mdx +++ b/snippets/samples/code_samples_get_batch_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'http://MEILISEARCH_URL/batches/BATCH_UID' -``` - ```javascript JS client.batches.getBatch(BATCH_UID); ``` diff --git a/snippets/samples/code_samples_get_dictionary_1.mdx b/snippets/samples/code_samples_get_dictionary_1.mdx index b989c9254..77020ebd6 100644 --- a/snippets/samples/code_samples_get_dictionary_1.mdx +++ b/snippets/samples/code_samples_get_dictionary_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/books/settings/dictionary' -``` - ```javascript JS client.index('books').getDictionary() ``` @@ -40,4 +35,10 @@ let task: TaskInfo = client .await .unwrap(); ``` + +```swift Swift +client.index("books").getDictionary { result in + // handle result +} +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_displayed_attributes_1.mdx b/snippets/samples/code_samples_get_displayed_attributes_1.mdx index d71e3a25b..9c7f2ccc6 100644 --- a/snippets/samples/code_samples_get_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_get_displayed_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' -``` - ```javascript JS client.index('movies').getDisplayedAttributes() ``` @@ -41,6 +36,17 @@ let displayed_attributes: Vec = client .unwrap(); ``` +```swift Swift +client.index("movies").getDisplayedAttributes { (result) in + switch result { + case .success(let displayedAttributes): + print(displayedAttributes) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getDisplayedAttributes(); ``` diff --git a/snippets/samples/code_samples_get_distinct_attribute_1.mdx b/snippets/samples/code_samples_get_distinct_attribute_1.mdx index 9081459d4..8be086811 100644 --- a/snippets/samples/code_samples_get_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_get_distinct_attribute_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/shoes/settings/distinct-attribute' -``` - ```javascript JS client.index('shoes').getDistinctAttribute() ``` @@ -41,6 +36,17 @@ let distinct_attribute: Option = client .unwrap(); ``` +```swift Swift +client.index("shoes").getDistinctAttribute { (result) in + switch result { + case .success(let distinctAttribute): + print(distinctAttribute) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('shoes').getDistinctAttribute(); ``` diff --git a/snippets/samples/code_samples_get_documents_1.mdx b/snippets/samples/code_samples_get_documents_1.mdx index 0adfcebe7..7eab6ac69 100644 --- a/snippets/samples/code_samples_get_documents_1.mdx +++ b/snippets/samples/code_samples_get_documents_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/documents?limit=2&filter=genres=action' -``` - ```javascript JS client.index('movies').getDocuments({ limit: 2, @@ -52,6 +47,17 @@ let documents: DocumentsResults = DocumentsQuery::new(&index) .unwrap(); ``` +```swift Swift +client.index("movies").getDocuments(params: DocumentsQuery(limit: 2)) { (result: Result, Swift.Error>) in + switch result { + case .success(let movies): + print(movies) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getDocuments( params: DocumentsQuery( diff --git a/snippets/samples/code_samples_get_documents_post_1.mdx b/snippets/samples/code_samples_get_documents_post_1.mdx index a507357f0..89d050f77 100644 --- a/snippets/samples/code_samples_get_documents_post_1.mdx +++ b/snippets/samples/code_samples_get_documents_post_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X POST MEILISEARCH_URL/indexes/books/documents/fetch \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "filter": "(rating > 3 AND (genres = Adventure OR genres = Fiction)) AND language = English", - "fields": ["title", "genres", "rating", "language"], - "limit": 3 - }' -``` - ```javascript JS client.index('books').getDocuments({ filter: '(rating > 3 AND (genres = Adventure OR genres = Fiction)) AND language = English', diff --git a/snippets/samples/code_samples_get_embedders_1.mdx b/snippets/samples/code_samples_get_embedders_1.mdx index 96325ca5d..d87e13dd7 100644 --- a/snippets/samples/code_samples_get_embedders_1.mdx +++ b/snippets/samples/code_samples_get_embedders_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/embedders' -``` - ```ruby Ruby client.index('INDEX_NAME').embedders ``` diff --git a/snippets/samples/code_samples_get_experimental_features_1.mdx b/snippets/samples/code_samples_get_experimental_features_1.mdx index de31ea010..184d0c19e 100644 --- a/snippets/samples/code_samples_get_experimental_features_1.mdx +++ b/snippets/samples/code_samples_get_experimental_features_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/experimental-features/' -``` - ```ruby Ruby client.experimental_features ``` 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 bfb04ecd9..dfb631101 100644 --- a/snippets/samples/code_samples_get_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_get_facet_search_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/INDEX_UID/settings/facet-search' -``` - ```javascript JS client.index('INDEX_NAME').getFacetSearch(); ``` diff --git a/snippets/samples/code_samples_get_faceting_settings_1.mdx b/snippets/samples/code_samples_get_faceting_settings_1.mdx index 0c907d681..719d11f0a 100644 --- a/snippets/samples/code_samples_get_faceting_settings_1.mdx +++ b/snippets/samples/code_samples_get_faceting_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/books/settings/faceting' -``` - ```javascript JS client.index('books').getFaceting() ``` diff --git a/snippets/samples/code_samples_get_filterable_attributes_1.mdx b/snippets/samples/code_samples_get_filterable_attributes_1.mdx index 5f9fe23a8..9080129e7 100644 --- a/snippets/samples/code_samples_get_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_filterable_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings/filterable-attributes' -``` - ```javascript JS client.index('movies').getFilterableAttributes() ``` @@ -41,6 +36,17 @@ let filterable_attributes: Vec = client .unwrap(); ``` +```swift Swift +client.index("movies").getFilterableAttributes { (result) in + switch result { + case .success(let attributes): + print(attributes) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getFilterableAttributes(); ``` diff --git a/snippets/samples/code_samples_get_health_1.mdx b/snippets/samples/code_samples_get_health_1.mdx index 711a0bc10..e02176e8b 100644 --- a/snippets/samples/code_samples_get_health_1.mdx +++ b/snippets/samples/code_samples_get_health_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/health' -``` - ```javascript JS client.health() ``` @@ -41,6 +36,17 @@ client .unwrap(); ``` +```swift Swift +client.health { (result) in + switch result { + case .success: + print("Healthy!") + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.health(); ``` diff --git a/snippets/samples/code_samples_get_index_stats_1.mdx b/snippets/samples/code_samples_get_index_stats_1.mdx index a75934562..fa3551755 100644 --- a/snippets/samples/code_samples_get_index_stats_1.mdx +++ b/snippets/samples/code_samples_get_index_stats_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/stats' -``` - ```javascript JS client.index('movies').getStats() ``` @@ -41,6 +36,17 @@ let stats: IndexStats = client .unwrap(); ``` +```swift Swift +client.index("movies").stats { (result) in + switch result { + case .success(let stats): + print(stats) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getStats(); ``` diff --git a/snippets/samples/code_samples_get_indexes_stats_1.mdx b/snippets/samples/code_samples_get_indexes_stats_1.mdx index fa98495ba..eb8153a0f 100644 --- a/snippets/samples/code_samples_get_indexes_stats_1.mdx +++ b/snippets/samples/code_samples_get_indexes_stats_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/stats' -``` - ```javascript JS client.getStats() ``` @@ -40,6 +35,17 @@ let stats: ClientStats = client .unwrap(); ``` +```swift Swift +client.allStats { (result) in + switch result { + case .success(let stats): + print(stats) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getStats(); ``` diff --git a/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx b/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx index bb2647644..5dfc024f2 100644 --- a/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx +++ b/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/localized-attributes' -``` - ```javascript JS client.index('INDEX_NAME').getLocalizedAttributes() ``` diff --git a/snippets/samples/code_samples_get_non_separator_tokens_1.mdx b/snippets/samples/code_samples_get_non_separator_tokens_1.mdx index 834827317..26427aaa6 100644 --- a/snippets/samples/code_samples_get_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_get_non_separator_tokens_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/articles/settings/non-separator-tokens' -``` - ```javascript JS client.index('books').getNonSeparatorTokens() ``` @@ -41,6 +36,12 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").getNonSeparatorTokens { result in + // handle result +} +``` + ```dart Dart await client.index('articles').getNonSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_get_one_document_1.mdx b/snippets/samples/code_samples_get_one_document_1.mdx index 3ac54c572..b0642aa2e 100644 --- a/snippets/samples/code_samples_get_one_document_1.mdx +++ b/snippets/samples/code_samples_get_one_document_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/documents/25684?fields=id,title,poster,release_date' -``` - ```javascript JS client .index('movies') @@ -51,6 +46,17 @@ let document = DocumentQuery::new(&index) .unwrap(); ``` +```swift Swift +client.index("movies").getDocument(25684) { (result: Result) in + switch result { + case .success(let movie): + print(movie) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getDocument(25684, fields: ['id', 'title', 'poster', 'release_date']); diff --git a/snippets/samples/code_samples_get_one_index_1.mdx b/snippets/samples/code_samples_get_one_index_1.mdx index 57c566717..ba2c94445 100644 --- a/snippets/samples/code_samples_get_one_index_1.mdx +++ b/snippets/samples/code_samples_get_one_index_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies' -``` - ```javascript JS client.index('movies').getRawInfo() ``` @@ -40,6 +35,17 @@ let movies: Index = client .unwrap(); ``` +```swift Swift +client.getIndex("movies") { (result) in + switch result { + case .success(let index): + print(index) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getIndex('movies'); ``` diff --git a/snippets/samples/code_samples_get_one_key_1.mdx b/snippets/samples/code_samples_get_one_key_1.mdx index c320d2320..cb2146e90 100644 --- a/snippets/samples/code_samples_get_one_key_1.mdx +++ b/snippets/samples/code_samples_get_one_key_1.mdx @@ -1,11 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/keys/6062abda-a5aa-4414-ac91-ecd7944c0f8d' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - ```javascript JS client.getKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d') ``` @@ -41,6 +35,17 @@ let key = client .unwrap(); ``` +```swift Swift +client.getKey(keyOrUid: "6062abda-a5aa-4414-ac91-ecd7944c0f8d") { result in + switch result { + case .success(let key): + print(key) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d'); ``` diff --git a/snippets/samples/code_samples_get_pagination_settings_1.mdx b/snippets/samples/code_samples_get_pagination_settings_1.mdx index 07cf9d3b4..05b1a41d0 100644 --- a/snippets/samples/code_samples_get_pagination_settings_1.mdx +++ b/snippets/samples/code_samples_get_pagination_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/books/settings/pagination' -``` - ```javascript JS client.index('books').getPagination() ``` 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 155d4eddb..a4ed58d99 100644 --- a/snippets/samples/code_samples_get_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_get_prefix_search_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/INDEX_UID/settings/prefix-search' -``` - ```javascript JS client.index('INDEX_NAME').getPrefixSearch(); ``` diff --git a/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx index 0087defc1..2b7be6e02 100644 --- a/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/books/settings/proximity-precision' -``` - ```javascript JS client.index('books').getProximityPrecision() ``` @@ -40,4 +35,8 @@ let proximity_precision: String = client .await .unwrap(); ``` + +```swift Swift +let precisionValue = try await self.client.index("books").getProximityPrecision() +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_ranking_rules_1.mdx b/snippets/samples/code_samples_get_ranking_rules_1.mdx index ad50c0da1..e72575f8c 100644 --- a/snippets/samples/code_samples_get_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_get_ranking_rules_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' -``` - ```javascript JS client.index('movies').getRankingRules() ``` @@ -41,6 +36,17 @@ let ranking_rules: Vec = client .unwrap(); ``` +```swift Swift +client.index("movies").getRankingRules { (result) in + switch result { + case .success(let rankingRules): + print(rankingRules) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getRankingRules(); ``` diff --git a/snippets/samples/code_samples_get_search_cutoff_1.mdx b/snippets/samples/code_samples_get_search_cutoff_1.mdx index 6b61ad64d..479179b7e 100644 --- a/snippets/samples/code_samples_get_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_get_search_cutoff_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings/search-cutoff-ms' -``` - ```javascript JS client.index('movies').getSearchCutoffMs() ``` @@ -40,4 +35,8 @@ let search_cutoff_ms: String = client .await .unwrap(); ``` + +```swift Swift +let precisionValue = try await self.client.index("books").getSearchCutoffMs() +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_get_searchable_attributes_1.mdx b/snippets/samples/code_samples_get_searchable_attributes_1.mdx index 1888608f9..c9acb95ec 100644 --- a/snippets/samples/code_samples_get_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_searchable_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' -``` - ```javascript JS client.index('movies').getSearchableAttributes() ``` @@ -41,6 +36,17 @@ let searchable_attributes: Vec = client .unwrap(); ``` +```swift Swift +client.index("movies").getSearchableAttributes { (result) in + switch result { + case .success(let searchableAttributes): + print(searchableAttributes) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getSearchableAttributes(); ``` diff --git a/snippets/samples/code_samples_get_separator_tokens_1.mdx b/snippets/samples/code_samples_get_separator_tokens_1.mdx index 0dedfc113..4d7134084 100644 --- a/snippets/samples/code_samples_get_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_get_separator_tokens_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/articles/settings/separator-tokens' -``` - ```javascript JS client.index('books').getSeparatorTokens() ``` @@ -41,6 +36,12 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").getSeparatorTokens { result in + // handle result +} +``` + ```dart Dart await client.index('articles').getSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_get_settings_1.mdx b/snippets/samples/code_samples_get_settings_1.mdx index a614c88f2..d2253fbe6 100644 --- a/snippets/samples/code_samples_get_settings_1.mdx +++ b/snippets/samples/code_samples_get_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings' -``` - ```javascript JS client.index('movies').getSettings() ``` @@ -41,6 +36,17 @@ let settings: Settings = client .unwrap(); ``` +```swift Swift +client.index("movies").getSettings { (result) in + switch result { + case .success(let setting): + print(setting) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getSettings(); ``` diff --git a/snippets/samples/code_samples_get_similar_post_1.mdx b/snippets/samples/code_samples_get_similar_post_1.mdx index 534a02785..d1f388648 100644 --- a/snippets/samples/code_samples_get_similar_post_1.mdx +++ b/snippets/samples/code_samples_get_similar_post_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/similar' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ - --data-binary '{ - "id": TARGET_DOCUMENT_ID, - "embedder": "EMBEDDER_NAME" - }' -``` - ```javascript JS client.index('INDEX_NAME').searchSimilarDocuments({ id: 'TARGET_DOCUMENT_ID', embedder: 'default' }) ``` diff --git a/snippets/samples/code_samples_get_sortable_attributes_1.mdx b/snippets/samples/code_samples_get_sortable_attributes_1.mdx index d5ce29295..23bcf4b61 100644 --- a/snippets/samples/code_samples_get_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_sortable_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' -``` - ```javascript JS client.index('books').getSortableAttributes() ``` @@ -41,6 +36,17 @@ let sortable_attributes: Vec = client .unwrap(); ``` +```swift Swift +client.index("books").getSortableAttributes { (result: Result, Swift.Error>) in + switch result { + case .success(let attributes): + print(attributes) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('books').getSortableAttributes(); ``` diff --git a/snippets/samples/code_samples_get_stop_words_1.mdx b/snippets/samples/code_samples_get_stop_words_1.mdx index 5b6f41bb0..92472df56 100644 --- a/snippets/samples/code_samples_get_stop_words_1.mdx +++ b/snippets/samples/code_samples_get_stop_words_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings/stop-words' -``` - ```javascript JS client.index('movies').getStopWords() ``` @@ -41,6 +36,17 @@ let stop_words: Vec = client .unwrap(); ``` +```swift Swift +client.index("movies").getStopWords { (result) in + switch result { + case .success(let stopWords): + print(stopWords) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getStopWords(); ``` diff --git a/snippets/samples/code_samples_get_synonyms_1.mdx b/snippets/samples/code_samples_get_synonyms_1.mdx index b7b48d2d9..ee3cce8c9 100644 --- a/snippets/samples/code_samples_get_synonyms_1.mdx +++ b/snippets/samples/code_samples_get_synonyms_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/settings/synonyms' -``` - ```javascript JS client.index('movies').getSynonyms() ``` @@ -41,6 +36,17 @@ let synonyms: HashMap> = client .unwrap(); ``` +```swift Swift +client.index("movies").getSynonyms { (result) in + switch result { + case .success(let synonyms): + print(synonyms) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').getSynonyms(); ``` diff --git a/snippets/samples/code_samples_get_task_1.mdx b/snippets/samples/code_samples_get_task_1.mdx index b6cd722bb..598d4b096 100644 --- a/snippets/samples/code_samples_get_task_1.mdx +++ b/snippets/samples/code_samples_get_task_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks/1' -``` - ```javascript JS client.tasks.getTask(1) ``` @@ -41,6 +36,17 @@ let task: Task = client .unwrap(); ``` +```swift Swift +client.getTask(taskUid: 1) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } + } +``` + ```dart Dart await client.getTask(1); ``` diff --git a/snippets/samples/code_samples_get_typo_tolerance_1.mdx b/snippets/samples/code_samples_get_typo_tolerance_1.mdx index 2c5b5d9db..f3b6175f1 100644 --- a/snippets/samples/code_samples_get_typo_tolerance_1.mdx +++ b/snippets/samples/code_samples_get_typo_tolerance_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/books/settings/typo-tolerance' -``` - ```javascript JS client.index('books').getTypoTolerance() ``` diff --git a/snippets/samples/code_samples_get_version_1.mdx b/snippets/samples/code_samples_get_version_1.mdx index f7757cbaf..60421315a 100644 --- a/snippets/samples/code_samples_get_version_1.mdx +++ b/snippets/samples/code_samples_get_version_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/version' -``` - ```javascript JS client.getVersion() ``` @@ -40,6 +35,17 @@ let version: Version = client .unwrap(); ``` +```swift Swift +client.version { (result) in + switch result { + case .success(let version): + print(version) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getVersion(); ``` diff --git a/snippets/samples/code_samples_getting_started_add_documents.mdx b/snippets/samples/code_samples_getting_started_add_documents.mdx index 479f817ca..9a4eaa3f6 100644 --- a/snippets/samples/code_samples_getting_started_add_documents.mdx +++ b/snippets/samples/code_samples_getting_started_add_documents.mdx @@ -1,13 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/documents?primaryKey=id' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer aSampleMasterKey' \ - --data-binary @movies.json -``` - ```javascript JS // With npm: // npm install meilisearch @@ -256,6 +248,27 @@ fn main() { block_on(async move { })} ``` +```swift Swift +// Add this to your `Package.swift` +dependencies: [ + .package(url: "https://github.com/meilisearch/meilisearch-swift.git", from: "0.17.0") +] + +// In your .swift file: +let path = Bundle.main.url(forResource: "movies", withExtension: "json")! +let documents: Data = try Data(contentsOf: path) +let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "aSampleMasterKey") + +client.index("movies").addDocuments(documents: documents) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart // In the command line: // dart pub add meilisearch diff --git a/snippets/samples/code_samples_getting_started_add_meteorites.mdx b/snippets/samples/code_samples_getting_started_add_meteorites.mdx index 4fb259329..bfed33b19 100644 --- a/snippets/samples/code_samples_getting_started_add_meteorites.mdx +++ b/snippets/samples/code_samples_getting_started_add_meteorites.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/meteorites/documents' \ - -H 'Content-Type: application/json' \ - --data-binary @meteorites.json -``` - ```javascript JS const meteorites = require('./meteorites.json') @@ -106,6 +99,21 @@ client .await?; ``` +```swift Swift +let file = "meteorites.json" +let path = URL(fileURLWithPath: file) +let documents: Data = try Data(contentsOf: path) + +client.index("meteorites").addDocuments(documents: documents) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart final json = await File('meteorites.json').readAsString(); await client.index('meteorites').addDocumentsJson(json); diff --git a/snippets/samples/code_samples_getting_started_check_task_status.mdx b/snippets/samples/code_samples_getting_started_check_task_status.mdx index 250c0c8dc..2cd5eb5bf 100644 --- a/snippets/samples/code_samples_getting_started_check_task_status.mdx +++ b/snippets/samples/code_samples_getting_started_check_task_status.mdx @@ -1,11 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks/0' \ - -H 'Authorization: Bearer aSampleMasterKey' -``` - ```javascript JS client.tasks.getTask(0) ``` @@ -41,6 +35,17 @@ client .unwrap(); ``` +```swift Swift +client.getTask(taskUid: 0) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getTask(0); ``` diff --git a/snippets/samples/code_samples_getting_started_configure_settings.mdx b/snippets/samples/code_samples_getting_started_configure_settings.mdx index d8086a1b2..facff5b2c 100644 --- a/snippets/samples/code_samples_getting_started_configure_settings.mdx +++ b/snippets/samples/code_samples_getting_started_configure_settings.mdx @@ -1,21 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/meteorites/settings' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "filterableAttributes": [ - "mass", - "_geo" - ], - "sortableAttributes": [ - "mass", - "_geo" - ] - }' -``` - ```javascript JS client.index('meteorites').updateSettings({ filterableAttributes: ['mass', '_geo'], @@ -103,6 +87,21 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let settings = Setting( + filterableAttributes: ["mass", "_geo"], + sortableAttributes: ["mass", "_geo"] +) +client.index("meteorites").updateSettings(settings) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('meteorites').updateSettings(IndexSettings( filterableAttributes: ['mass', '_geo'], diff --git a/snippets/samples/code_samples_getting_started_faceting.mdx b/snippets/samples/code_samples_getting_started_faceting.mdx index 648ac88a8..f7b8c3db3 100644 --- a/snippets/samples/code_samples_getting_started_faceting.mdx +++ b/snippets/samples/code_samples_getting_started_faceting.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/faceting' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "maxValuesPerFacet": 2, - "sortFacetValuesBy": { - "*": "count" - } - }' -``` - ```javascript JS client.index('movies').updateFaceting({ maxValuesPerFacet: 2, @@ -92,6 +80,10 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").updateFaceting({ maxValuesPerFacet: 2 }) +``` + ```dart Dart await client.index('books').updateFaceting(Faceting( maxValuesPerFacet: 2, diff --git a/snippets/samples/code_samples_getting_started_filtering.mdx b/snippets/samples/code_samples_getting_started_filtering.mdx index 1c775138a..122d7a92a 100644 --- a/snippets/samples/code_samples_getting_started_filtering.mdx +++ b/snippets/samples/code_samples_getting_started_filtering.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "filter": "mass < 200" }' -``` - ```javascript JS client.index('meteorites').search('', { filter: 'mass < 200' }) ``` @@ -53,6 +46,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + filter: "mass < 200" + ) + client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } + } +``` + ```dart Dart await client .index('meteorites') diff --git a/snippets/samples/code_samples_getting_started_geo_point.mdx b/snippets/samples/code_samples_getting_started_geo_point.mdx index c3e5286de..ddc2f3b06 100644 --- a/snippets/samples/code_samples_getting_started_geo_point.mdx +++ b/snippets/samples/code_samples_getting_started_geo_point.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ - -H 'Content-type:application/json' \ - --data-binary '{ "sort": ["_geoPoint(48.8583701,2.2922926):asc"] }' -``` - ```javascript JS client.index('meteorites').search('', { sort: ['_geoPoint(48.8583701, 2.2922926):asc'] }) ``` @@ -55,6 +48,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + sort: ["_geoPoint(48.8583701, 2.2922926):asc"] +) +client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('meteorites').search( '', SearchQuery(sort: ['_geoPoint(48.8583701, 2.2922926):asc'])); diff --git a/snippets/samples/code_samples_getting_started_geo_radius.mdx b/snippets/samples/code_samples_getting_started_geo_radius.mdx index ccfdcddf2..1f11e269f 100644 --- a/snippets/samples/code_samples_getting_started_geo_radius.mdx +++ b/snippets/samples/code_samples_getting_started_geo_radius.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ - -H 'Content-type:application/json' \ - --data-binary '{ "filter": "_geoRadius(46.9480, 7.4474, 210000)" }' -``` - ```javascript JS client.index('meteorites').search('', { filter: '_geoRadius(46.9480, 7.4474, 210000)' }) ``` @@ -53,6 +46,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + filter: "_geoRadius(46.9480, 7.4474, 210000)" +) +client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('meteorites').search( '', diff --git a/snippets/samples/code_samples_getting_started_pagination.mdx b/snippets/samples/code_samples_getting_started_pagination.mdx index 0bdc9ba48..ef587d570 100644 --- a/snippets/samples/code_samples_getting_started_pagination.mdx +++ b/snippets/samples/code_samples_getting_started_pagination.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/pagination' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "maxTotalHits": 500 - }' -``` - ```javascript JS client.index('movies').updatePagination({ maxTotalHits: 500 }) ``` @@ -54,6 +45,10 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").updatePagination({ maxTotalHits: 500 }) +``` + ```dart Dart await client .index('books') diff --git a/snippets/samples/code_samples_getting_started_search.mdx b/snippets/samples/code_samples_getting_started_search.mdx index 02ba1bb61..183559ba1 100644 --- a/snippets/samples/code_samples_getting_started_search.mdx +++ b/snippets/samples/code_samples_getting_started_search.mdx @@ -1,13 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer aSampleMasterKey' \ - --data-binary '{ "q": "botman" }' -``` - ```javascript JS client.index('movies').search('botman').then((res) => console.log(res)) ``` @@ -72,6 +64,17 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +client.index("movies").search(SearchParameters(query: "botman")) { (result) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search('botman'); ``` diff --git a/snippets/samples/code_samples_getting_started_sorting.mdx b/snippets/samples/code_samples_getting_started_sorting.mdx index 49032606e..749609657 100644 --- a/snippets/samples/code_samples_getting_started_sorting.mdx +++ b/snippets/samples/code_samples_getting_started_sorting.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "filter": "mass < 200", - "sort": ["mass:asc"] - }' -``` - ```javascript JS client.index('meteorites').search('', { sort: ['mass:asc'], @@ -71,6 +61,22 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "", + filter: "mass < 200", + sort: ["mass:asc"] +) +client.index("meteorites").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('meteorites').search( '', diff --git a/snippets/samples/code_samples_getting_started_synonyms.mdx b/snippets/samples/code_samples_getting_started_synonyms.mdx index f71a97a55..e254e78a1 100644 --- a/snippets/samples/code_samples_getting_started_synonyms.mdx +++ b/snippets/samples/code_samples_getting_started_synonyms.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/synonyms' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "winnie": ["piglet"], - "piglet": ["winnie"] - }' -``` - ```javascript JS client.index('movies').updateSynonyms({ winnie: ['piglet'], @@ -76,6 +66,21 @@ client .unwrap(); ``` +```swift Swift +let synonyms: [String: [String]] = [ + "winnie": ["piglet"], + "piglet": ["winnie"] +] + client.index("movies").updateSynonyms(synonyms) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } + } +``` + ```dart Dart await client.index('movies').updateSynonyms({ 'winnie': ['piglet'], diff --git a/snippets/samples/code_samples_getting_started_typo_tolerance.mdx b/snippets/samples/code_samples_getting_started_typo_tolerance.mdx index 0e66eeb6e..9d59f6458 100644 --- a/snippets/samples/code_samples_getting_started_typo_tolerance.mdx +++ b/snippets/samples/code_samples_getting_started_typo_tolerance.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "minWordSizeForTypos": { "oneTypo": 4 } -}' -``` - ```javascript JS client.index('movies').updateTypoTolerance({ minWordSizeForTypos: { @@ -88,6 +79,10 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift + +``` + ```dart Dart final toUpdate = TypoTolerance( minWordSizeForTypos: MinWordSizeForTypos(oneTypo: 4), diff --git a/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx b/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx index 5fe63171d..001e1beab 100644 --- a/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx +++ b/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "title", - "overview", - "poster" - ]' -``` - ```javascript JS client.index('movies').updateDisplayedAttributes([ 'title', @@ -85,6 +74,18 @@ client .unwrap(); ``` +```swift Swift +let displayedAttributes: [String] = ["title", "overview", "poster"] +client.index("movies").updateDisplayedAttributes(displayedAttributes) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } + } +``` + ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx b/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx index 1332e7ce6..73813b5f2 100644 --- a/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx +++ b/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx @@ -1,21 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "exactness", - "words", - "typo", - "proximity", - "attribute", - "sort", - "release_date:asc", - "rank:desc" - ]' -``` - ```javascript JS client.index('movies').updateRankingRules([ 'exactness', @@ -130,6 +114,27 @@ client .unwrap(); ``` +```swift Swift +let rankingRules: [String] = [ + "exactness", + "words", + "typo", + "proximity", + "attribute", + "sort", + "release_date:asc", + "rank:desc" +] +client.index("movies").updateRankingRules(rankingRules) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateRankingRules([ 'exactness', diff --git a/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx b/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx index ffa7c078c..23f8517eb 100644 --- a/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx +++ b/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '["title"]' -``` - ```javascript JS client.index('movies').updateSearchableAttributes([ 'title' @@ -62,6 +55,18 @@ client .unwrap(); ``` +```swift Swift +let searchableAttributes: [String] = ["title"] +client.index("movies").updateSearchableAttributes(searchableAttributes) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateSearchableAttributes(['title']); ``` diff --git a/snippets/samples/code_samples_getting_started_update_stop_words.mdx b/snippets/samples/code_samples_getting_started_update_stop_words.mdx index f725eca3e..829bd699e 100644 --- a/snippets/samples/code_samples_getting_started_update_stop_words.mdx +++ b/snippets/samples/code_samples_getting_started_update_stop_words.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/stop-words' \ - -H 'Content-Type: application/json' \ - --data-binary '["the"]' -``` - ```javascript JS client.index('movies').updateStopWords(['the']) ``` @@ -52,6 +45,18 @@ client .unwrap(); ``` +```swift Swift +let stopWords: [String] = ["the"] +client.index("movies").updateStopWords(stopWords) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateStopWords(['the']); ``` 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 b971e33ec..29529537a 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 @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/searchable-attributes' -``` - ```rust Rust let searchable_attributes: Vec = index .get_searchable_attributes() 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 f82116ae0..5303c7ff6 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 @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/searchable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "title", - "overview" - ]' -``` - ```rust Rust let task = index .set_searchable_attributes(["title", "overview"]) 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 2242766f4..60604ff7f 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 @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/tasks/TASK_UID' -``` - ```rust Rust let task_status = index.get_task(&task).await.unwrap(); ``` diff --git a/snippets/samples/code_samples_landing_getting_started_1.mdx b/snippets/samples/code_samples_landing_getting_started_1.mdx index 9d68cef37..b353fed74 100644 --- a/snippets/samples/code_samples_landing_getting_started_1.mdx +++ b/snippets/samples/code_samples_landing_getting_started_1.mdx @@ -121,6 +121,29 @@ client.index("movies") .unwrap(); ``` +```swift Swift +let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") +let documents = """ +[ + { "id": 1, "title": "Carol" }, + { "id": 2, "title": "Wonder Woman" }, + { "id": 3, "title": "Life of Pi" }, + { "id": 4, "title": "Mad Max: Fury Road" }, + { "id": 5, "title": "Moana" }, + { "id": 6, "title": "Philadelphia"} +] +""".data(using: .utf8)! + +client.index("movies").addDocuments(documents: documents, primaryKey: "reference_number") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```javascript Vanilla JS
diff --git a/snippets/samples/code_samples_list_all_indexes_1.mdx b/snippets/samples/code_samples_list_all_indexes_1.mdx index a67cbeb98..69a16ad04 100644 --- a/snippets/samples/code_samples_list_all_indexes_1.mdx +++ b/snippets/samples/code_samples_list_all_indexes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes?limit=3' -``` - ```javascript JS client.getIndexes({ limit: 3 }) ``` @@ -44,6 +39,17 @@ let mut indexes = IndexesQuery::new(&client) .unwrap(); ``` +```swift Swift +client.getIndexes { (result) in + switch result { + case .success(let indexes): + print(indexes) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.getIndexes(params: IndexesQuery(limit: 3)); ``` diff --git a/snippets/samples/code_samples_multi_search_1.mdx b/snippets/samples/code_samples_multi_search_1.mdx index 0d84985a5..3d1146278 100644 --- a/snippets/samples/code_samples_multi_search_1.mdx +++ b/snippets/samples/code_samples_multi_search_1.mdx @@ -1,29 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/multi-search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "queries": [ - { - "indexUid": "movies", - "q": "pooh", - "limit": 5 - }, - { - "indexUid": "movies", - "q": "nemo", - "limit": 5 - }, - { - "indexUid": "movie_ratings", - "q": "us" - } - ] - }' -``` - ```javascript JS client.multiSearch({ queries: [ { diff --git a/snippets/samples/code_samples_multi_search_federated_1.mdx b/snippets/samples/code_samples_multi_search_federated_1.mdx index acf53e72f..77c08a09f 100644 --- a/snippets/samples/code_samples_multi_search_federated_1.mdx +++ b/snippets/samples/code_samples_multi_search_federated_1.mdx @@ -1,24 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/multi-search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "federation": {}, - "queries": [ - { - "indexUid": "movies", - "q": "batman" - }, - { - "indexUid": "comics", - "q": "batman" - } - ] - }' -``` - ```javascript JS client.multiSearch({ federation: {}, diff --git a/snippets/samples/code_samples_negative_search_1.mdx b/snippets/samples/code_samples_negative_search_1.mdx index d55e30b10..17da8a69b 100644 --- a/snippets/samples/code_samples_negative_search_1.mdx +++ b/snippets/samples/code_samples_negative_search_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "q": "-escape" }' -``` - ```javascript JS client.index('movies').search('-escape') ``` diff --git a/snippets/samples/code_samples_negative_search_2.mdx b/snippets/samples/code_samples_negative_search_2.mdx index f25dc2bba..f77c6d397 100644 --- a/snippets/samples/code_samples_negative_search_2.mdx +++ b/snippets/samples/code_samples_negative_search_2.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "q": "-\"escape room\"" }' -``` - ```javascript JS client.index('movies').search('-"escape"') ``` diff --git a/snippets/samples/code_samples_phrase_search_1.mdx b/snippets/samples/code_samples_phrase_search_1.mdx index d409660fd..0c9cf9aa6 100644 --- a/snippets/samples/code_samples_phrase_search_1.mdx +++ b/snippets/samples/code_samples_phrase_search_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ ---data-binary '{ "q": "\"african american\" horror" }' -``` - ```javascript JS client.index('movies') .search('"african american" horror') @@ -46,6 +39,19 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "\"african american\" horror") +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search('"african american" horror'); ``` diff --git a/snippets/samples/code_samples_post_dump_1.mdx b/snippets/samples/code_samples_post_dump_1.mdx index 47eac06e1..7a8b8ab61 100644 --- a/snippets/samples/code_samples_post_dump_1.mdx +++ b/snippets/samples/code_samples_post_dump_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/dumps' -``` - ```javascript JS client.createDump() ``` @@ -40,6 +35,17 @@ client .unwrap(); ``` +```swift Swift +client.createDump { result in + switch result { + case .success(let dumpStatus): + print(dumpStatus) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.createDump(); ``` diff --git a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx index e26a9e91c..3714af30b 100644 --- a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx @@ -1,23 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/documents?primaryKey=reference_number' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - { - "reference_number": 287947, - "title": "Diary of a Wimpy Kid", - "author": "Jeff Kinney", - "genres": [ - "comedy", - "humor" - ], - "price": 5.00 - } - ]' -``` - ```javascript JS client.index('books').addDocuments([ { @@ -128,6 +110,29 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let documents: Data = """ +[ + { + "reference_number": 287947, + "title": "Diary of a Wimpy Kid", + "author": "Jeff Kinney", + "genres": ["comedy", "humor"], + "price": 5 + } +] +""".data(using: .utf8)! + +client.index("books").addDocuments(documents: documents, primaryKey: "reference_number") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').addDocuments([ { diff --git a/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx index 4889cd335..75213d322 100644 --- a/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "uid": "books", - "primaryKey": "reference_number" - }' -``` - ```javascript JS client.createIndex('books', { primaryKey: 'reference_number' }) ``` @@ -48,6 +38,17 @@ client .unwrap(); ``` +```swift Swift +client.createIndex(uid: "books", primaryKey: "reference_number") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.createIndex('books', primaryKey: 'reference_number'); ``` diff --git a/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx index 0237a768b..09db64073 100644 --- a/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/books' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "primaryKey": "title" }' -``` - ```javascript JS client.updateIndex('books', { primaryKey: 'title' @@ -45,6 +38,17 @@ let task = IndexUpdater::new("books", &client) .unwrap(); ``` +```swift Swift +client.updateIndex(uid: "movies", primaryKey: "title") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.updateIndex('books', 'title'); ``` diff --git a/snippets/samples/code_samples_related_results_embedder_1.mdx b/snippets/samples/code_samples_related_results_embedder_1.mdx index 1f285b42d..d9a45148e 100644 --- a/snippets/samples/code_samples_related_results_embedder_1.mdx +++ b/snippets/samples/code_samples_related_results_embedder_1.mdx @@ -1,21 +1,5 @@ -```bash cURL -curl -X PATCH 'MEILISEARCH_URL/indexes/movies/settings' - -H 'Content-Type: application/json' - -H 'Authorization: Bearer MEILISEARCH_API_KEY' - --data-binary '{ - "embedders": { - "movies-text": { - "source": "openAi", - "apiKey": "OPENAI_API_KEY", - "model": "text-embedding-3-small", - "documentTemplate": "A movie titled '{{doc.title}}' released in {{ doc.release_date }}. The movie genres are: {{doc.genres}}. The story is about: {{doc.overview|truncatewords: 20}}" - } - } - }' -``` - ```rust Rust let embedders = HashMap::from([( String::from("movies-text"), diff --git a/snippets/samples/code_samples_related_results_search_1.mdx b/snippets/samples/code_samples_related_results_search_1.mdx index 38bb44ab5..44b88c4d0 100644 --- a/snippets/samples/code_samples_related_results_search_1.mdx +++ b/snippets/samples/code_samples_related_results_search_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ - -H 'content-type: application/json' \ - -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ - --data-binary '{ - "q": "batman", - "hybrid": { - "embedder": "EMBEDDER_NAME" - } - }' -``` - ```rust Rust let results = movies.search() .with_query("batman") diff --git a/snippets/samples/code_samples_related_results_similar_1.mdx b/snippets/samples/code_samples_related_results_similar_1.mdx index 24fbdbf35..cc5b3be16 100644 --- a/snippets/samples/code_samples_related_results_similar_1.mdx +++ b/snippets/samples/code_samples_related_results_similar_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/similar' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ - --data-binary '{ - "id": 192, - "embedder": "EMBEDDER_NAME" - }' -``` - ```rust Rust let results = movies.similar_search("192", "EMBEDDER_NAME") .execute() diff --git a/snippets/samples/code_samples_reset_dictionary_1.mdx b/snippets/samples/code_samples_reset_dictionary_1.mdx index d0dc72348..16df02b9b 100644 --- a/snippets/samples/code_samples_reset_dictionary_1.mdx +++ b/snippets/samples/code_samples_reset_dictionary_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/books/settings/dictionary' -``` - ```javascript JS client.index('books').resetDictionary() ``` @@ -40,4 +35,10 @@ let task: TaskInfo = client .await .unwrap(); ``` + +```swift Swift +client.index("books").resetDictionary { result in + // handle result +} +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_displayed_attributes_1.mdx b/snippets/samples/code_samples_reset_displayed_attributes_1.mdx index 1820c7862..99b4a941c 100644 --- a/snippets/samples/code_samples_reset_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_displayed_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' -``` - ```javascript JS client.index('movies').resetDisplayedAttributes() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").resetDisplayedAttributes { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').resetDisplayedAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_distinct_attribute_1.mdx b/snippets/samples/code_samples_reset_distinct_attribute_1.mdx index 71c4d796e..37e1630d9 100644 --- a/snippets/samples/code_samples_reset_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_reset_distinct_attribute_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/shoes/settings/distinct-attribute' -``` - ```javascript JS client.index('shoes').resetDistinctAttribute() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("shoes").resetDistinctAttribute { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('shoes').resetDistinctAttribute(); ``` diff --git a/snippets/samples/code_samples_reset_embedders_1.mdx b/snippets/samples/code_samples_reset_embedders_1.mdx index b9eaee801..00ec5b2cc 100644 --- a/snippets/samples/code_samples_reset_embedders_1.mdx +++ b/snippets/samples/code_samples_reset_embedders_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/embedders' -``` - ```ruby Ruby client.index('INDEX_NAME').reset_embedders ``` 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 9591211ce..2afc93c10 100644 --- a/snippets/samples/code_samples_reset_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_reset_facet_search_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/INDEX_UID/settings/facet-search' -``` - ```javascript JS client.index('INDEX_NAME').resetFacetSearch(); ``` diff --git a/snippets/samples/code_samples_reset_faceting_settings_1.mdx b/snippets/samples/code_samples_reset_faceting_settings_1.mdx index 573204c54..e22ee31ae 100644 --- a/snippets/samples/code_samples_reset_faceting_settings_1.mdx +++ b/snippets/samples/code_samples_reset_faceting_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/books/settings/faceting' -``` - ```javascript JS client.index('books').resetFaceting() ``` diff --git a/snippets/samples/code_samples_reset_filterable_attributes_1.mdx b/snippets/samples/code_samples_reset_filterable_attributes_1.mdx index 3cc5e8b6b..8171c7387 100644 --- a/snippets/samples/code_samples_reset_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_filterable_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/filterable-attributes' -``` - ```javascript JS client.index('movies').resetFilterableAttributes() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").resetFilterableAttributes { (result) in + switch result { + case .success(let attributes): + print(attributes) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').resetFilterableAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx b/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx index 5f77e3a2e..64165847f 100644 --- a/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx +++ b/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/localized-attributes' -``` - ```javascript JS client.index('INDEX_NAME').resetLocalizedAttributes() ``` diff --git a/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx b/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx index 792474dfe..5321e048b 100644 --- a/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/articles/settings/non-separator-tokens' -``` - ```javascript JS client.index('books').resetNonSeparatorTokens() ``` @@ -41,6 +36,12 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").resetNonSeparatorTokens { result in + // handle result +} +``` + ```dart Dart await client.index('articles').resetNonSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_reset_pagination_settings_1.mdx b/snippets/samples/code_samples_reset_pagination_settings_1.mdx index 8950bf93b..a5fd33bb3 100644 --- a/snippets/samples/code_samples_reset_pagination_settings_1.mdx +++ b/snippets/samples/code_samples_reset_pagination_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/books/settings/pagination' -``` - ```javascript JS client.index('books').resetPagination() ``` 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 b161e68b3..b749ad875 100644 --- a/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/INDEX_UID/settings/prefix-search' -``` - ```javascript JS client.index('INDEX_NAME').resetPrefixSearch(); ``` diff --git a/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx index 592c96249..9b73f6dfb 100644 --- a/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/books/settings/proximity-precision' -``` - ```javascript JS client.index('books').resetProximityPrecision() ``` @@ -40,4 +35,8 @@ let task: TaskInfo = client .await .unwrap(); ``` + +```swift Swift +let task = try await self.client.index("books").resetProximityPrecision() +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_ranking_rules_1.mdx b/snippets/samples/code_samples_reset_ranking_rules_1.mdx index 078516f02..0e444cdde 100644 --- a/snippets/samples/code_samples_reset_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_reset_ranking_rules_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' -``` - ```javascript JS client.index('movies').resetRankingRules() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").resetRankingRules { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').resetRankingRules(); ``` diff --git a/snippets/samples/code_samples_reset_search_cutoff_1.mdx b/snippets/samples/code_samples_reset_search_cutoff_1.mdx index b92826442..9eba157b4 100644 --- a/snippets/samples/code_samples_reset_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_reset_search_cutoff_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/search-cutoff-ms' -``` - ```javascript JS client.index('movies').resetSearchCutoffMs() ``` @@ -40,4 +35,8 @@ let task: TaskInfo = client .await .unwrap(); ``` + +```swift Swift +let task = try await self.client.index("books").resetSearchCutoffMs() +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_reset_searchable_attributes_1.mdx b/snippets/samples/code_samples_reset_searchable_attributes_1.mdx index 3fc3fa903..a02101e97 100644 --- a/snippets/samples/code_samples_reset_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_searchable_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' -``` - ```javascript JS client.index('movies').resetSearchableAttributes() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").resetSearchableAttributes { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').resetSearchableAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_separator_tokens_1.mdx b/snippets/samples/code_samples_reset_separator_tokens_1.mdx index 535797b74..191dfec4b 100644 --- a/snippets/samples/code_samples_reset_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_reset_separator_tokens_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/articles/settings/separator-tokens' -``` - ```javascript JS client.index('books').resetSeparatorTokens() ``` @@ -41,6 +36,12 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").resetSeparatorTokens { result in + // handle result +} +``` + ```dart Dart await client.index('articles').resetSeparatorTokens(); ``` diff --git a/snippets/samples/code_samples_reset_settings_1.mdx b/snippets/samples/code_samples_reset_settings_1.mdx index cd66aed84..84613ef9a 100644 --- a/snippets/samples/code_samples_reset_settings_1.mdx +++ b/snippets/samples/code_samples_reset_settings_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings' -``` - ```javascript JS client.index('movies').resetSettings() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").resetSettings { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').resetSettings(); ``` diff --git a/snippets/samples/code_samples_reset_sortable_attributes_1.mdx b/snippets/samples/code_samples_reset_sortable_attributes_1.mdx index e527ffab0..ca69855bc 100644 --- a/snippets/samples/code_samples_reset_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_sortable_attributes_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' -``` - ```javascript JS client.index('books').resetSortableAttributes() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").resetSortableAttributes() { (result) in + switch result { + case .success(let attributes): + print(attributes) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('books').resetSortableAttributes(); ``` diff --git a/snippets/samples/code_samples_reset_stop_words_1.mdx b/snippets/samples/code_samples_reset_stop_words_1.mdx index 5d0317b81..01c35ae67 100644 --- a/snippets/samples/code_samples_reset_stop_words_1.mdx +++ b/snippets/samples/code_samples_reset_stop_words_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/stop-words' -``` - ```javascript JS client.index('movies').resetStopWords() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").resetStopWords { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').resetStopWords(); ``` diff --git a/snippets/samples/code_samples_reset_synonyms_1.mdx b/snippets/samples/code_samples_reset_synonyms_1.mdx index 56c820ffd..d1e76f0e8 100644 --- a/snippets/samples/code_samples_reset_synonyms_1.mdx +++ b/snippets/samples/code_samples_reset_synonyms_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/synonyms' -``` - ```javascript JS client.index('movies').resetSynonyms() ``` @@ -41,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").resetSynonyms { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').resetSynonyms(); ``` diff --git a/snippets/samples/code_samples_reset_typo_tolerance_1.mdx b/snippets/samples/code_samples_reset_typo_tolerance_1.mdx index 12ac8fdce..e00a98b7c 100644 --- a/snippets/samples/code_samples_reset_typo_tolerance_1.mdx +++ b/snippets/samples/code_samples_reset_typo_tolerance_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/indexes/books/settings/typo-tolerance' -``` - ```javascript JS client.index('books').resetTypoTolerance() ``` diff --git a/snippets/samples/code_samples_search_get_1.mdx b/snippets/samples/code_samples_search_get_1.mdx index a2de8aced..59913a69b 100644 --- a/snippets/samples/code_samples_search_get_1.mdx +++ b/snippets/samples/code_samples_search_get_1.mdx @@ -1,10 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/indexes/movies/search?q=american%20ninja' -``` - ```javascript JS client.index('movies').searchGet('American ninja') ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx b/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx index 3a1fa90c9..566ecba14 100644 --- a/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "adventure", - "attributesToSearchOn": ["overview"] - }' -``` - ```javascript JS client.index('movies').search('adventure', { attributesToSearchOn: ['overview'] @@ -64,6 +54,18 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters(query: "adventure", attributesToSearchOn: ["overview"]) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('books').facetSearch( FacetSearchQuery( diff --git a/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx b/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx index 065a37c8c..5d85c4bd4 100644 --- a/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "shifu", - "attributesToCrop": ["overview"], - "cropLength": 5 - }' -``` - ```javascript JS client.index('movies').search('shifu', { attributesToCrop: ['overview'], @@ -84,6 +73,21 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "shifu", + attributesToCrop: ["overview"], + cropLength: 5) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search( 'shifu', SearchQuery(attributesToCrop: ['overview'], cropLength: 5)); diff --git a/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx b/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx index 19ec7753a..c4a48d0f8 100644 --- a/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "shifu", - "cropMarker": "[…]", - "attributesToCrop": ["overview"] - }' -``` - ```javascript JS client.index('movies').search('shifu', { attributesToCrop: ['overview'], @@ -84,6 +73,21 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "shifu", + attributesToCrop: ["overview"], + cropMarker: "[…]") +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search( 'shifu', diff --git a/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx b/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx index d5559a27c..7a869e55d 100644 --- a/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "Batman", - "facets": ["genres", "rating"] - }' -``` - ```javascript JS client.index('movie_ratings').search('Batman', { facets: ['genres', 'rating'] }) ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx b/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx index b5dfe1562..225ac43d8 100644 --- a/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "winter feast", - "attributesToHighlight": ["overview"] - }' -``` - ```javascript JS client.index('movies').search('winter feast', { attributesToHighlight: ['overview'] @@ -72,6 +62,20 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "winter feast", + attributesToHighlight: ["overview"]) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search( 'winter feast', SearchQuery(attributesToHighlight: ['overview'])); diff --git a/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx b/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx index 50fc4d68c..53a995919 100644 --- a/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "winter feast", - "attributesToHighlight": ["overview"], - "highlightPreTag": "", - "highlightPostTag": "" - }' -``` - ```javascript JS client.index('movies').search('winter feast', { attributesToHighlight: ['overview'], @@ -93,6 +81,22 @@ let formatted_results: Vec<&Movie> = results .collect(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "winter feast", + attributesToHighlight: ["overview"], + highlightPreTag: "", + highlightPostTag: "") +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search( 'winter feast', diff --git a/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx b/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx index 4c88d603c..3ad5845e8 100644 --- a/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "", - "hitsPerPage": 15 - }' -``` - ```javascript JS client.index('movies').search('', { hitsPerPage: 15 @@ -50,6 +40,18 @@ if(result is PaginatedSearchResult pagedResults) client.index("movies").search().with_hits_per_page(15).execute().await?; ``` +```swift Swift +let searchParameters = SearchParameters(query: "", hitsPerPage: 15) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movies') 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 e61487848..1f02a697b 100644 --- a/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ - -H 'content-type: application/json' \ - --data-binary '{ - "q": "kitchen utensils", - "hybrid": { - "semanticRatio": 0.9, - "embedder": "EMBEDDER_NAME" - } - }' -``` - ```javascript JS client.index('INDEX_NAME').search('kitchen utensils', { hybrid: { diff --git a/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx b/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx index b103bc36b..85dfc11d5 100644 --- a/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "shifu", - "limit": 2 - }' -``` - ```javascript JS client.index('movies').search('shifu', { limit: 2 @@ -65,6 +55,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "shifu", + limit: 2) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search('shifu', SearchQuery(limit: 2)); ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx index 1cc2e929c..82de42469 100644 --- a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "big fat liar", - "matchingStrategy": "last" - }' -``` - ```javascript JS client.index('movies').search('big fat liar', { matchingStrategy: 'last' diff --git a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx index 23072bd05..606123cfa 100644 --- a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "big fat liar", - "matchingStrategy": "all" - }' -``` - ```javascript JS client.index('movies').search('big fat liar', { matchingStrategy: 'all' diff --git a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx index 9ca750c44..3b8cf39c7 100644 --- a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "white shirt", - "matchingStrategy": "frequency" - }' -``` - ```javascript JS client.index('movies').search('white shirt', { matchingStrategy: 'frequency' diff --git a/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx b/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx index adb1d5c9e..5541e5511 100644 --- a/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "shifu", - "offset": 1 - }' -``` - ```javascript JS client.index('movies').search('shifu', { offset: 1 @@ -65,6 +55,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "shifu", + offset: 1) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search('shifu', SearchQuery(offset: 1)); ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_page_1.mdx b/snippets/samples/code_samples_search_parameter_guide_page_1.mdx index 97da7bba7..d4d3a9fe7 100644 --- a/snippets/samples/code_samples_search_parameter_guide_page_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_page_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "", - "page": 2 - }' -``` - ```javascript JS client.index('movies').search('', { page: 2 @@ -50,6 +40,18 @@ if(result is PaginatedSearchResult pagedResults) client.index("movies").search().with_page(2).execute().await?; ``` +```swift Swift +let searchParameters = SearchParameters(query: "", page: 15) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_search_parameter_guide_query_1.mdx b/snippets/samples/code_samples_search_parameter_guide_query_1.mdx index 36ef62039..3a840cc9e 100644 --- a/snippets/samples/code_samples_search_parameter_guide_query_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_query_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "q": "shifu" }' -``` - ```javascript JS client.index('movies').search('shifu') ``` @@ -45,6 +38,17 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +client.index("movies").search(SearchParameters(query: "shifu")) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search('shifu'); ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx b/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx index 9f8075be1..2becd5f2c 100644 --- a/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx @@ -1,18 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "shifu", - "attributesToRetrieve": [ - "overview", - "title" - ] - }' -``` - ```javascript JS client.index('movies').search('shifu', { attributesToRetrieve: ['overview', 'title'] @@ -67,6 +54,20 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "shifu", + attributesToRetrieve: ["overview", "title"]) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search( 'shifu', SearchQuery(attributesToRetrieve: ['overview', 'title'])); diff --git a/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx index af91b8786..024ea82af 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "winter feast", - "showMatchesPosition": true - }' -``` - ```javascript JS client.index('movies').search('winter feast', { showMatchesPosition: true @@ -73,6 +63,20 @@ let matches_position: Vec<&HashMap>> = results .collect(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "winter feast", + showMatchesPosition: true) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx index 704153194..dd25450b1 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "dragon", - "showRankingScore": true - }' -``` - ```javascript JS client.index('movies').search('dragon', { showRankingScore: true @@ -64,6 +54,18 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters(query: "dragon", showRankingScore: true) +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult.rankingScore) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx index 00015ba3d..d346ca34f 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "dragon", - "showRankingScoreDetails": true - }' -``` - ```javascript JS client.index('movies').search('dragon', { showRankingScoreDetails: true }) ``` @@ -61,4 +51,9 @@ let results: SearchResults = client .await .unwrap(); ``` + +```swift Swift +let searchParameters = SearchParameters(query: "dragon", showRankingScoreDetails: true) +let movies: Searchable = try await client.index("movies").search(searchParameters) +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx b/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx index 4813481d9..5083809e5 100644 --- a/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "science fiction", - "sort": ["price:asc"] - }' -``` - ```javascript JS client.index('books').search('science fiction', { sort: ['price:asc'], @@ -62,6 +52,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "science fiction", + sort: ["price:asc"] +) +client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('books') 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 ad8a2c35a..94cc782bb 100644 --- a/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ - -H 'content-type: application/json' \ - --data-binary '{ - "vector": [0, 1, 2], - "hybrid": { - "embedder": "EMBEDDER_NAME" - } - }' -``` - ```rust Rust let results = index .search() diff --git a/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx b/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx index ca908222a..20191ee14 100644 --- a/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx +++ b/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "QUERY TERMS", - "distinct": "ATTRIBUTE_A" - }' -``` - ```javascript JS client.index('INDEX_NAME').search('QUERY TERMS', { distinct: 'ATTRIBUTE_A' }) ``` diff --git a/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx b/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx index d3c9cd509..90f4a7560 100644 --- a/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx +++ b/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ --X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ --H 'Content-Type: application/json' \ ---data-binary '{ - "q": "QUERY TEXT IN JAPANESE", - "locales": ["jpn"] -}' -``` - ```javascript JS client.index('INDEX_NAME').search('QUERY TEXT IN JAPANESE', { locales: ['jpn'] }) ``` diff --git a/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx b/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx index 8aae73f7e..9fbf984a6 100644 --- a/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx +++ b/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ --X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ --H 'Content-Type: application/json' \ ---data-binary '{ - "q": "badman", - "rankingScoreThreshold": 0.2 -}' -``` - ```javascript JS client.index('INDEX_NAME').search('badman', { rankingScoreThreshold: 0.2 }) ``` 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 3aa36ee05..e2e178566 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 @@ -1,17 +1,5 @@ -```bash cURL -curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ - -H 'content-type: application/json' \ - --data-binary '{ - "q": "kitchen utensils", - "retrieveVectors": true, - "hybrid": { - "embedder": "EMBEDDER_NAME" - } - }' -``` - ```javascript JS client.index('INDEX_NAME').search('kitchen utensils', { retrieveVectors: true, diff --git a/snippets/samples/code_samples_search_post_1.mdx b/snippets/samples/code_samples_search_post_1.mdx index 842cda459..99648eabd 100644 --- a/snippets/samples/code_samples_search_post_1.mdx +++ b/snippets/samples/code_samples_search_post_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/movies/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "q": "american ninja" }' -``` - ```javascript JS client.index('movies').search('American ninja') ``` @@ -45,6 +38,18 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters(query: "American ninja") +client.index("movies").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').search('American ninja'); ``` diff --git a/snippets/samples/code_samples_security_guide_create_key_1.mdx b/snippets/samples/code_samples_security_guide_create_key_1.mdx index b660e914e..e673bf34c 100644 --- a/snippets/samples/code_samples_security_guide_create_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_create_key_1.mdx @@ -1,18 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/keys' \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer MASTER_KEY' \ - --data-binary '{ - "description": "Search patient records key", - "actions": ["search"], - "indexes": ["patient_medical_records"], - "expiresAt": "2023-01-01T00:00:00Z" - }' -``` - ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.createKey({ @@ -106,6 +93,25 @@ let new_key = client .unwrap(); ``` +```swift Swift +let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") + +let keyParams = KeyParams( + description: "Search patient records key", + actions: ["search"], + indexes: ["patient_medical_records"], + expiresAt: "2023-01-01T00:00:00Z" +) +client.createKey(keyParams) { result in + switch result { + case .success(let key): + print(key) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.createKey( diff --git a/snippets/samples/code_samples_security_guide_delete_key_1.mdx b/snippets/samples/code_samples_security_guide_delete_key_1.mdx index ee5fb372b..45596e7ba 100644 --- a/snippets/samples/code_samples_security_guide_delete_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_delete_key_1.mdx @@ -1,11 +1,5 @@ -```bash cURL -curl \ - -X DELETE 'MEILISEARCH_URL/keys/ac5cd97d-5a4b-4226-a868-2d0eb6d197ab' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.deleteKey('ac5cd97d-5a4b-4226-a868-2d0eb6d197ab') @@ -52,6 +46,19 @@ client .await?; ``` +```swift Swift +let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") + +client.deleteKey(keyOrUid: "ac5cd97d-5a4b-4226-a868-2d0eb6d197ab") { result in + switch result { + case .success: + print("success") + case .failure(let error): + print(error) + } +} +``` + ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.deleteKey('ac5cd97d-5a4b-4226-a868-2d0eb6d197ab'); diff --git a/snippets/samples/code_samples_security_guide_list_keys_1.mdx b/snippets/samples/code_samples_security_guide_list_keys_1.mdx index 42381de62..f7eabc67a 100644 --- a/snippets/samples/code_samples_security_guide_list_keys_1.mdx +++ b/snippets/samples/code_samples_security_guide_list_keys_1.mdx @@ -1,11 +1,5 @@ -```bash cURL -curl \ - -X GET 'MEILISEARCH_URL/keys' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.getKeys() @@ -50,6 +44,19 @@ let keys = client .unwrap(); ``` +```swift Swift +let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") + +client.getKeys() { result in + switch result { + case .success(let keys): + print(keys) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.getKeys(); diff --git a/snippets/samples/code_samples_security_guide_search_key_1.mdx b/snippets/samples/code_samples_security_guide_search_key_1.mdx index 9fb64b633..a3643cb1f 100644 --- a/snippets/samples/code_samples_security_guide_search_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_search_key_1.mdx @@ -1,11 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/patient_medical_records/search' \ - -H 'Authorization: Bearer API_KEY' -``` - ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'apiKey' }) client.index('patient_medical_records').search() @@ -50,6 +44,19 @@ let result = client.index("patient_medical_records") .unwrap(); ``` +```swift Swift +client = try MeiliSearch(host: "http://localhost:7700", apiKey: "apiKey") +client.index("patient_medical_records") + .search(SearchParameters(query: "")) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'apiKey'); await client.index('patient_medical_records').search(''); diff --git a/snippets/samples/code_samples_security_guide_update_key_1.mdx b/snippets/samples/code_samples_security_guide_update_key_1.mdx index 95bbcbe20..a649308ed 100644 --- a/snippets/samples/code_samples_security_guide_update_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_update_key_1.mdx @@ -1,13 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/keys/74c9c733-3368-4738-bbe5-1d18a5fecb37' \ - -H 'Authorization: Bearer MASTER_KEY' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "description": "Default Search API Key" }' -``` - ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.updateKey('74c9c733-3368-4738-bbe5-1d18a5fecb37', { @@ -63,6 +55,20 @@ key .update(&client); ``` +```swift Swift +let client = try MeiliSearch(host: "http://localhost:7700", apiKey: "masterKey") +let keyParams = KeyUpdateParams(description: "Default Search API Key") + +client.updateKey(key: "74c9c733-3368-4738-bbe5-1d18a5fecb37", keyParams: keyParams) { result in + switch result { + case .success(let key): + print(key) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart var client = MeiliSearchClient('http://localhost:7700', 'masterKey'); await client.updateKey( diff --git a/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx b/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx index 139a667fe..e1c6e311d 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "science fiction", - "sort": ["rating.users:asc"] - }' -``` - ```javascript JS client.index('books').search('science fiction', { 'sort': ['rating.users:asc'], @@ -59,6 +49,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "science fiction", + sort: ["rating.users:asc"] +) +client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movie_ratings') diff --git a/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx b/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx index d757089a6..e7f5c871c 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "science fiction", - "sort": ["price:asc"] - }' -``` - ```javascript JS client.index('books').search('science fiction', { sort: ['price:asc'], @@ -62,6 +52,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "science fiction", + sort: ["price:asc"] +) +client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('books') diff --git a/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx b/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx index 2d82e9e70..d3b4aa902 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/indexes/books/search' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "q": "butler", - "sort": ["author:desc"] - }' -``` - ```javascript JS client.index('books').search('butler', { sort: ['author:desc'], @@ -62,6 +52,21 @@ let results: SearchResults = client .unwrap(); ``` +```swift Swift +let searchParameters = SearchParameters( + query: "butler", + sort: ["author:desc"] +) +client.index("books").search(searchParameters) { (result: Result, Swift.Error>) in + switch result { + case .success(let searchResult): + print(searchResult) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('books') diff --git a/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx b/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx index e976f442b..b4ac0756b 100644 --- a/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx @@ -1,19 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/books/settings/ranking-rules' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "words", - "sort", - "typo", - "proximity", - "attribute", - "exactness" - ]' -``` - ```javascript JS client.index('books').updateRankingRules([ 'words', @@ -113,6 +99,25 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let rankingRules: [String] = [ + "words", + "sort", + "typo", + "proximity", + "attribute", + "exactness" +] +client.index("books").updateRankingRules(rankingRules) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('books').updateRankingRules( ['words', 'sort', 'typo', 'proximity', 'attribute', 'exactness']); diff --git a/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx b/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx index 11b921631..58d411c70 100644 --- a/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "author", - "price" - ]' -``` - ```javascript JS client.index('books').updateSortableAttributes([ 'author', @@ -64,6 +54,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").updateSortableAttributes(["price", "author"]) { (result: Result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('books').updateSortableAttributes(['author', 'price']); ``` diff --git a/snippets/samples/code_samples_swap_indexes_1.mdx b/snippets/samples/code_samples_swap_indexes_1.mdx index 5c8e3e2b8..1d97f7560 100644 --- a/snippets/samples/code_samples_swap_indexes_1.mdx +++ b/snippets/samples/code_samples_swap_indexes_1.mdx @@ -1,25 +1,5 @@ -```bash cURL -curl \ - -X POST 'MEILISEARCH_URL/swap-indexes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - { - "indexes": [ - "indexA", - "indexB" - ] - }, - { - "indexes": [ - "indexX", - "indexY" - ] - } - ]' -``` - ```javascript JS client.swapIndexes([ { 'indexes': ['indexA', 'indexB'] }, @@ -74,6 +54,13 @@ client.swap_indexes([ }]) ``` +```swift Swift +let task = try await self.client.swapIndexes([ + ("indexA", "indexB"), + ("indexX", "indexY") +]) +``` + ```dart Dart await client.swapIndexes([ SwapIndex(['indexA', 'indexB']), diff --git a/snippets/samples/code_samples_synonyms_guide_1.mdx b/snippets/samples/code_samples_synonyms_guide_1.mdx index 211f100c9..8b6b1f2c3 100644 --- a/snippets/samples/code_samples_synonyms_guide_1.mdx +++ b/snippets/samples/code_samples_synonyms_guide_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/synonyms' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "great": ["fantastic"], "fantastic": ["great"] - }' -``` - ```javascript JS client.index('movies').updateSynonyms({ 'great': ['fantastic'], @@ -74,6 +65,22 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let synonyms: [String: [String]] = [ + "great": ["fantastic"], + "fantastic": ["great"] +] + +client.index("movies").updateSynonyms(synonyms) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateSynonyms({ 'great': ['fantastic'], diff --git a/snippets/samples/code_samples_typo_tolerance_guide_1.mdx b/snippets/samples/code_samples_typo_tolerance_guide_1.mdx index 500211fba..408deb1c4 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_1.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "enabled": false }' -``` - ```javascript JS client.index('movies').updateTypoTolerance({ enabled: false diff --git a/snippets/samples/code_samples_typo_tolerance_guide_2.mdx b/snippets/samples/code_samples_typo_tolerance_guide_2.mdx index 1150ed453..ea5181d4a 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_2.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_2.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "disableOnAttributes": ["title"] }' -``` - ```javascript JS client.index('movies').updateTypoTolerance({ disableOnAttributes: ['title'] diff --git a/snippets/samples/code_samples_typo_tolerance_guide_3.mdx b/snippets/samples/code_samples_typo_tolerance_guide_3.mdx index 0342bab52..fef671fa9 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_3.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_3.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "disableOnWords": [ - "shrek" - ] - }' -``` - ```javascript JS client.index('movies').updateTypoTolerance({ disableOnWords: ['shrek'] diff --git a/snippets/samples/code_samples_typo_tolerance_guide_4.mdx b/snippets/samples/code_samples_typo_tolerance_guide_4.mdx index 2b0c0a5e9..0b703ddd2 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_4.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_4.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "minWordSizeForTypos": { - "oneTypo": 4, - "twoTypos": 10 - } - }' -``` - ```javascript JS client.index('movies').updateTypoTolerance({ minWordSizeForTypos: { diff --git a/snippets/samples/code_samples_typo_tolerance_guide_5.mdx b/snippets/samples/code_samples_typo_tolerance_guide_5.mdx index 55582c22b..c7bc19e0c 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_5.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_5.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "disableOnNumbers": true - }' -``` - ```javascript JS client.index('movies').updateTypoTolerance({ disableOnNumbers: true diff --git a/snippets/samples/code_samples_update_a_key_1.mdx b/snippets/samples/code_samples_update_a_key_1.mdx index 4f8fdbf4f..511421b1a 100644 --- a/snippets/samples/code_samples_update_a_key_1.mdx +++ b/snippets/samples/code_samples_update_a_key_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/keys/6062abda-a5aa-4414-ac91-ecd7944c0f8d' \ - -H 'Authorization: Bearer MASTER_KEY' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "name": "Products/Reviews API key", - "description": "Manage documents: Products/Reviews API key" - }' -``` - ```javascript JS client.updateKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d', { name: 'Products/Reviews API key', @@ -82,6 +71,22 @@ key .unwrap(); ``` +```swift Swift +let keyParams = KeyUpdateParams( + description: "Manage documents: Products/Reviews API key", + name: "Products/Reviews API key" +) + +client.updateKey(keyOrUid: "6062abda-a5aa-4414-ac91-ecd7944c0f8d", keyParams: keyParams) { result in + switch result { + case .success(let key): + print(key) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.updateKey( '6062abda-a5aa-4414-ac91-ecd7944c0f8d', diff --git a/snippets/samples/code_samples_update_an_index_1.mdx b/snippets/samples/code_samples_update_an_index_1.mdx index a8ad15e70..263ed1ea7 100644 --- a/snippets/samples/code_samples_update_an_index_1.mdx +++ b/snippets/samples/code_samples_update_an_index_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies' \ - -H 'Content-Type: application/json' \ - --data-binary '{ "primaryKey": "id" }' -``` - ```javascript JS client.updateIndex('movies', { primaryKey: 'id' }) ``` @@ -43,6 +36,17 @@ let task = IndexUpdater::new("movies", &client) .unwrap(); ``` +```swift Swift +client.index("movies").update(primaryKey: "id") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').update(primaryKey: 'id'); ``` diff --git a/snippets/samples/code_samples_update_dictionary_1.mdx b/snippets/samples/code_samples_update_dictionary_1.mdx index 85d435e9a..f23d4445d 100644 --- a/snippets/samples/code_samples_update_dictionary_1.mdx +++ b/snippets/samples/code_samples_update_dictionary_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/books/settings/dictionary' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "J. R. R.", - "W. E. B." - ]' -``` - ```javascript JS client.index('books').updateDictionary(['J. R. R.', 'W. E. B.']) ``` @@ -49,4 +39,10 @@ let task: TaskInfo = client .await .unwrap(); ``` + +```swift Swift +client.index("books").updateDictionary(["J. R. R.", "W. E. B."]) { result in + // handle result +} +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_displayed_attributes_1.mdx b/snippets/samples/code_samples_update_displayed_attributes_1.mdx index 6bdbd04ee..b9054355a 100644 --- a/snippets/samples/code_samples_update_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_update_displayed_attributes_1.mdx @@ -1,17 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "title", - "overview", - "genres", - "release_date" - ]' -``` - ```javascript JS client.index('movies').updateDisplayedAttributes([ 'title', @@ -93,6 +81,18 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let displayedAttributes: [String] = ["title", "overview", "genres", "release_date"] +client.index("movies").updateDisplayedAttributes(displayedAttributes) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateDisplayedAttributes([ 'title', diff --git a/snippets/samples/code_samples_update_distinct_attribute_1.mdx b/snippets/samples/code_samples_update_distinct_attribute_1.mdx index 2a2cce5ea..12a18a05a 100644 --- a/snippets/samples/code_samples_update_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_update_distinct_attribute_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/shoes/settings/distinct-attribute' \ - -H 'Content-Type: application/json' \ - --data-binary '"skuid"' -``` - ```javascript JS client.index('shoes').updateDistinctAttribute('skuid') ``` @@ -43,6 +36,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("shoes").updateDistinctAttribute("skuid") { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('shoes').updateDistinctAttribute('skuid'); ``` diff --git a/snippets/samples/code_samples_update_embedders_1.mdx b/snippets/samples/code_samples_update_embedders_1.mdx index 89c1458e1..d06e744fc 100644 --- a/snippets/samples/code_samples_update_embedders_1.mdx +++ b/snippets/samples/code_samples_update_embedders_1.mdx @@ -1,19 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/embedders' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "default": { - "source": "openAi", - "apiKey": "OPEN_AI_API_KEY", - "model": "text-embedding-3-small", - "documentTemplate": "A document titled '{{doc.title}}' whose description starts with {{doc.overview|truncatewords: 20}}" - } - }' -``` - ```javascript JS client.index('INDEX_NAME').updateEmbedders({ default: { diff --git a/snippets/samples/code_samples_update_experimental_features_1.mdx b/snippets/samples/code_samples_update_experimental_features_1.mdx index 930ca5bb4..f2eff78f8 100644 --- a/snippets/samples/code_samples_update_experimental_features_1.mdx +++ b/snippets/samples/code_samples_update_experimental_features_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/experimental-features/' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "metrics": true - }' -``` - ```ruby Ruby client.update_experimental_features(metrics: true) ``` 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 bbcbe5a39..ab37d8b8b 100644 --- a/snippets/samples/code_samples_update_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_update_facet_search_settings_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/INDEX_UID/settings/facet-search' \ - -H 'Content-Type: application/json' \ - --data-binary 'false' -``` - ```javascript JS client.index('INDEX_NAME').updateFacetSearch(false); ``` diff --git a/snippets/samples/code_samples_update_faceting_settings_1.mdx b/snippets/samples/code_samples_update_faceting_settings_1.mdx index 5c1ce28ef..97090df45 100644 --- a/snippets/samples/code_samples_update_faceting_settings_1.mdx +++ b/snippets/samples/code_samples_update_faceting_settings_1.mdx @@ -1,18 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/books/settings/faceting' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "maxValuesPerFacet": 2, - "sortFacetValuesBy": { - "*": "alpha", - "genres": "count" - } - }' -``` - ```javascript JS client.index('books').updateFaceting({ maxValuesPerFacet: 2 diff --git a/snippets/samples/code_samples_update_filterable_attributes_1.mdx b/snippets/samples/code_samples_update_filterable_attributes_1.mdx index 95e4731cf..1325bc997 100644 --- a/snippets/samples/code_samples_update_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_filterable_attributes_1.mdx @@ -1,25 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/filterable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "genres", - "director", - { - "attributePatterns": ["*_ratings"], - "features": { - "facetSearch": false, - "filter": { - "equality": true, - "comparison": false - } - } - } - ]' -``` - ```javascript JS client.index('movies') .updateFilterableAttributes([ @@ -116,6 +96,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("movies").updateFilterableAttributes(["genre", "director"]) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx b/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx index 68c0ae1d8..18a7d7222 100644 --- a/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx +++ b/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/localized-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - {"locales": ["jpn"], "attributePatterns": ["*_ja"]} - ]' -``` - ```javascript JS client.index('INDEX_NAME').updateLocalizedAttributes([ { attributePatterns: ['*_ja'], locales: ['jpn'] }, diff --git a/snippets/samples/code_samples_update_non_separator_tokens_1.mdx b/snippets/samples/code_samples_update_non_separator_tokens_1.mdx index 4263dd727..96de512c0 100644 --- a/snippets/samples/code_samples_update_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_update_non_separator_tokens_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/articles/settings/non-separator-tokens' \ - -H 'Content-Type: application/json' \ - --data-binary '["@", "#"]' -``` - ```javascript JS client.index('books').updateNonSeparatorTokens(['@', '#']) ``` @@ -47,6 +40,12 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").updateNonSeparatorTokens(["@", "#"]) { result in + // handle result +} +``` + ```dart Dart await client.index('articles').updateNonSeparatorTokens(["@", "#"]); ``` diff --git a/snippets/samples/code_samples_update_pagination_settings_1.mdx b/snippets/samples/code_samples_update_pagination_settings_1.mdx index e6797da75..d387996c9 100644 --- a/snippets/samples/code_samples_update_pagination_settings_1.mdx +++ b/snippets/samples/code_samples_update_pagination_settings_1.mdx @@ -1,14 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/books/settings/pagination' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "maxTotalHits": 100 - }' -``` - ```javascript JS client.index('books').updateSettings({ pagination: { maxTotalHits: 100 }}) ``` 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 4e4dcd1f6..8d490ff13 100644 --- a/snippets/samples/code_samples_update_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_update_prefix_search_settings_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/INDEX_UID/settings/prefix-search' \ - -H 'Content-Type: application/json' \ - --data-binary '"disabled"' -``` - ```javascript JS client.index('INDEX_NAME').updatePrefixSearch('disabled'); ``` diff --git a/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx index dc1024350..e3515d218 100644 --- a/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/books/settings/proximity-precision' \ - -H 'Content-Type: application/json' \ - --data-binary '"byAttribute"' -``` - ```javascript JS client.index('books').updateProximityPrecision('byAttribute') ``` @@ -42,4 +35,8 @@ let task: TaskInfo = client .await .unwrap(); ``` + +```swift Swift +let task = try await self.client.index("books").updateProximityPrecision(.byWord) +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_ranking_rules_1.mdx b/snippets/samples/code_samples_update_ranking_rules_1.mdx index 074425464..c846b14ec 100644 --- a/snippets/samples/code_samples_update_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_update_ranking_rules_1.mdx @@ -1,21 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "words", - "typo", - "proximity", - "attribute", - "sort", - "exactness", - "release_date:asc", - "rank:desc" - ]' -``` - ```javascript JS client.index('movies').updateRankingRules([ 'words', @@ -131,6 +115,27 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let rankingRules: [String] = [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + "release_date:asc", + "rank:desc" +] +client.index("movies").updateRankingRules(rankingRules) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateRankingRules([ 'words', diff --git a/snippets/samples/code_samples_update_search_cutoff_1.mdx b/snippets/samples/code_samples_update_search_cutoff_1.mdx index 5918a8eb5..b666d2b15 100644 --- a/snippets/samples/code_samples_update_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_update_search_cutoff_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/search-cutoff-ms' \ - -H 'Content-Type: application/json' \ - --data-binary '150' -``` - ```javascript JS client.index('movies').updateSearchCutoffMs(150) ``` @@ -42,4 +35,8 @@ let task: TaskInfo = client .await .unwrap(); ``` + +```swift Swift +let task = try await self.client.index("books").updateSearchCutoffMs(150) +``` \ No newline at end of file diff --git a/snippets/samples/code_samples_update_searchable_attributes_1.mdx b/snippets/samples/code_samples_update_searchable_attributes_1.mdx index ec19173f8..82a1ef9d6 100644 --- a/snippets/samples/code_samples_update_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_searchable_attributes_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "title", - "overview", - "genres" - ]' -``` - ```javascript JS client.index('movies').updateSearchableAttributes([ 'title', @@ -79,6 +68,18 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let searchableAttributes: [String] = ["title", "overview", "genres"] +client.index("movies").updateSearchableAttributes(searchableAttributes) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client .index('movies') diff --git a/snippets/samples/code_samples_update_separator_tokens_1.mdx b/snippets/samples/code_samples_update_separator_tokens_1.mdx index 54ec002db..a92832437 100644 --- a/snippets/samples/code_samples_update_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_update_separator_tokens_1.mdx @@ -1,12 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/articles/settings/separator-tokens' \ - -H 'Content-Type: application/json' \ - --data-binary '["|", "…"]' -``` - ```javascript JS client.index('books').updateSeparatorTokens(['|', '…']) ``` @@ -47,6 +40,12 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").updateSeparatorTokens(["|", "…"]) { result in + // handle result +} +``` + ```dart Dart await client.index('articles').updateSeparatorTokens(["|", "…"]); ``` diff --git a/snippets/samples/code_samples_update_settings_1.mdx b/snippets/samples/code_samples_update_settings_1.mdx index ccbe30d96..e796291b8 100644 --- a/snippets/samples/code_samples_update_settings_1.mdx +++ b/snippets/samples/code_samples_update_settings_1.mdx @@ -1,65 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/movies/settings' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "rankingRules": [ - "words", - "typo", - "proximity", - "attribute", - "sort", - "exactness", - "release_date:desc", - "rank:desc" - ], - "distinctAttribute": "movie_id", - "searchableAttributes": [ - "title", - "overview", - "genres" - ], - "displayedAttributes": [ - "title", - "overview", - "genres", - "release_date" - ], - "stopWords": [ - "the", - "a", - "an" - ], - "sortableAttributes": [ - "title", - "release_date" - ], - "synonyms": { - "wolverine": [ - "xmen", - "logan" - ], - "logan": ["wolverine"] - }, - "typoTolerance": { - "minWordSizeForTypos": { - "oneTypo": 8, - "twoTypos": 10 - }, - "disableOnAttributes": ["title"] - }, - "pagination": { - "maxTotalHits": 5000 - }, - "faceting": { - "maxValuesPerFacet": 200 - }, - "searchCutoffMs": 150 - }' -``` - ```javascript JS client.index('movies').updateSettings({ rankingRules: [ @@ -483,6 +423,47 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let settings = Setting(rankingRules: [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + "release_date:desc", + "rank:desc" +], searchableAttributes: [ + "title", + "overview", + "genres" +], displayedAttributes: [ + "title", + "overview", + "genres", + "release_date" +], stopWords: [ + "the", + "a", + "an" +], synonyms: [ + "wolverine": ["xmen", "logan"], + "logan": ["wolverine"] +], distinctAttribute: "movie_id", +sortableAttributes: [ + "title", + "release_date" +]) +client.index("movies").updateSettings(settings) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateSettings( IndexSettings( diff --git a/snippets/samples/code_samples_update_sortable_attributes_1.mdx b/snippets/samples/code_samples_update_sortable_attributes_1.mdx index 3b2750f64..a87dc6201 100644 --- a/snippets/samples/code_samples_update_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_sortable_attributes_1.mdx @@ -1,15 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "price", - "author" - ]' -``` - ```javascript JS client.index('books') .updateSortableAttributes([ @@ -68,6 +58,17 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +client.index("books").updateSortableAttributes(["price", "author"]) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('books').updateSortableAttributes(['price', 'author']); ``` diff --git a/snippets/samples/code_samples_update_stop_words_1.mdx b/snippets/samples/code_samples_update_stop_words_1.mdx index 9c79da03f..63fcfeb96 100644 --- a/snippets/samples/code_samples_update_stop_words_1.mdx +++ b/snippets/samples/code_samples_update_stop_words_1.mdx @@ -1,16 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/stop-words' \ - -H 'Content-Type: application/json' \ - --data-binary '[ - "the", - "of", - "to" - ]' -``` - ```javascript JS client.index('movies').updateStopWords(['of', 'the', 'to']) ``` @@ -49,6 +38,18 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let stopWords: [String] = ["of", "the", "to"] +client.index("movies").updateStopWords(stopWords) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateStopWords(['of', 'the', 'to']); ``` diff --git a/snippets/samples/code_samples_update_synonyms_1.mdx b/snippets/samples/code_samples_update_synonyms_1.mdx index 61cf4e975..d8a48f617 100644 --- a/snippets/samples/code_samples_update_synonyms_1.mdx +++ b/snippets/samples/code_samples_update_synonyms_1.mdx @@ -1,22 +1,5 @@ -```bash cURL -curl \ - -X PUT 'MEILISEARCH_URL/indexes/movies/settings/synonyms' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "wolverine": [ - "xmen", - "logan" - ], - "logan": [ - "wolverine", - "xmen" - ], - "wow": ["world of warcraft"] - }' -``` - ```javascript JS client.index('movies').updateSynonyms({ wolverine: ['xmen', 'logan'], @@ -88,6 +71,22 @@ let task: TaskInfo = client .unwrap(); ``` +```swift Swift +let synonyms: [String: [String]] = [ + "wolverine": ["xmen", "logan"], + "logan": ["wolverine", "xmen"], + "wow": ["world of warcraft"] +] +client.index("movies").updateSynonyms(synonyms) { (result) in + switch result { + case .success(let task): + print(task) + case .failure(let error): + print(error) + } +} +``` + ```dart Dart await client.index('movies').updateSynonyms({ 'wolverine': ['xmen', 'logan'], diff --git a/snippets/samples/code_samples_update_typo_tolerance_1.mdx b/snippets/samples/code_samples_update_typo_tolerance_1.mdx index 2e2fb3914..a4d9e6e2f 100644 --- a/snippets/samples/code_samples_update_typo_tolerance_1.mdx +++ b/snippets/samples/code_samples_update_typo_tolerance_1.mdx @@ -1,18 +1,5 @@ -```bash cURL -curl \ - -X PATCH 'MEILISEARCH_URL/indexes/books/settings/typo-tolerance' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "minWordSizeForTypos": { - "oneTypo": 4, - "twoTypos": 10 - }, - "disableOnAttributes": ["title"] - }' -``` - ```javascript JS client.index('books').updateTypoTolerance({ minWordSizeForTypos: { From 3ae5457b84f02ab9d2f9d845d1e301bd15aca961 Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Thu, 31 Jul 2025 14:14:03 +0200 Subject: [PATCH 13/16] v1.15.1: `/chat` route docs review (#3316) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix /network route component * WIP: `/chats` reference review * Update code samples [skip ci] * polish chat reference * Update code samples [skip ci] * add tooling reference to menu * improve text and flow across remaining chat content * remove editing artefact * Update code samples [skip ci] * fix chat settings * 💅 * address reviewer feedback * fix links --------- Co-authored-by: github-actions[bot] --- docs.json | 17 +- learn/chat/chat_tooling_reference.md | 225 +++++++ .../conversational_search.mdx} | 64 +- .../chat}/getting_started_with_chat.mdx | 254 ++------ reference/api/chats.mdx | 551 ++++++------------ reference/api/network.mdx | 4 +- reference/api/settings.mdx | 20 +- 7 files changed, 524 insertions(+), 611 deletions(-) create mode 100644 learn/chat/chat_tooling_reference.md rename learn/{ai_powered_search/conversational_search_with_chat.mdx => chat/conversational_search.mdx} (65%) rename {guides/ai => learn/chat}/getting_started_with_chat.mdx (59%) diff --git a/docs.json b/docs.json index 268872406..58720adb7 100644 --- a/docs.json +++ b/docs.json @@ -165,7 +165,6 @@ "group": "AI-powered search", "pages": [ "learn/ai_powered_search/getting_started_with_ai_search", - "learn/ai_powered_search/conversational_search_with_chat", "learn/ai_powered_search/configure_rest_embedder", "learn/ai_powered_search/document_template_best_practices", "learn/ai_powered_search/image_search_with_user_provided_embeddings", @@ -175,6 +174,14 @@ "learn/ai_powered_search/difference_full_text_ai_search" ] }, + { + "group": "Conversational search", + "pages": [ + "learn/chat/getting_started_with_chat", + "learn/chat/chat_tooling_reference", + "learn/chat/conversational_search" + ] + }, { "group": "Self-hosted", "pages": [ @@ -945,6 +952,14 @@ { "source": "/guides/deployment/gcp", "destination": "/guides/running_production" + }, + { + "source": "/guides/ai/getting_started_with_chat", + "destination": "/learn/chat/getting_started_with_chat" + }, + { + "source": "learn/ai_powered_search/conversational_search_with_chat", + "destination": "learn/chat/conversational_search" } ] } diff --git a/learn/chat/chat_tooling_reference.md b/learn/chat/chat_tooling_reference.md new file mode 100644 index 000000000..5485abb47 --- /dev/null +++ b/learn/chat/chat_tooling_reference.md @@ -0,0 +1,225 @@ +--- +title: Chat tooling reference +description: An exhaustive reference of special chat tools supported by Meilisearch +--- + +When creating your conversational search agent, you may be able to extend the model's capabilities with a number of tools. This page lists Meilisearch-specific tools that may improve user experience. + + +This is an experimental feature. Use the Meilisearch Cloud UI or the experimental features endpoint to activate it: + +```sh +curl \ + -X PATCH 'MEILISEARCH_URL/experimental-features/' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "chatCompletions": true + }' +``` + + +## Meilisearch chat tools + +For the best user experience, configure all following tools. + +1. **Handle progress updates** by displaying search status to users during streaming +2. **Append conversation messages** as requested to maintain context for future requests +3. **Display source documents** to users for transparency and verification +4. **Use `call_id`** to associate progress updates with their corresponding source results + + +These special tools are handled internally by Meilisearch and are not forwarded to the LLM provider. They serve as a communication mechanism between Meilisearch and your application to provide enhanced user experience features. + + +### `_meiliSearchProgress` + +This tool reports real-time progress of internal search operations. When declared, Meilisearch will call this function whenever search operations are performed in the background. + +**Purpose**: Provides transparency about search operations and reduces perceived latency by showing users what's happening behind the scenes. + +**Arguments**: + +- `call_id`: Unique identifier to track the search operation +- `function_name`: Name of the internal function being executed (e.g., "_meiliSearchInIndex") +- `function_parameters`: JSON-encoded string containing search parameters like `q` (query) and `index_uid` + +**Example Response**: + +```json +{ + "function": { + "name": "_meiliSearchProgress", + "arguments": "{\"call_id\":\"89939d1f-6857-477c-8ae2-838c7a504e6a\",\"function_name\":\"_meiliSearchInIndex\",\"function_parameters\":\"{\\\"index_uid\\\":\\\"movies\\\",\\\"q\\\":\\\"search engine\\\"}\"}" + } +} +``` + +### `_meiliAppendConversationMessage` + +Since the `/chats/{workspace}/chat/completions` endpoint is stateless, this tool helps maintain conversation context by requesting the client to append internal messages to the conversation history. + +**Purpose**: Maintains conversation context for better response quality in subsequent requests by preserving tool calls and results. + +**Arguments**: + +- `role`: Message author role ("user" or "assistant") +- `content`: Message content (for tool results) +- `tool_calls`: Array of tool calls made by the assistant +- `tool_call_id`: ID of the tool call this message responds to + +**Example Response**: + +```json +{ + "function": { + "name": "_meiliAppendConversationMessage", + "arguments": "{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_ijAdM42bixq9lAF4SiPwkq2b\",\"type\":\"function\",\"function\":{\"name\":\"_meiliSearchInIndex\",\"arguments\":\"{\\\"index_uid\\\":\\\"movies\\\",\\\"q\\\":\\\"search engine\\\"}\"}}]}" + } +} +``` + +### `_meiliSearchSources` + +This tool provides the source documents that were used by the LLM to generate responses, enabling transparency and allowing users to verify information sources. + +**Purpose**: Shows users which documents were used to generate responses, improving trust and enabling source verification. + +**Arguments**: + +- `call_id`: Matches the `call_id` from `_meiliSearchProgress` to associate queries with results +- `documents`: JSON object containing the source documents with only displayed attributes + +**Example Response**: + +```json +{ + "function": { + "name": "_meiliSearchSources", + "arguments": "{\"call_id\":\"abc123\",\"documents\":[{\"id\":197302,\"title\":\"The Sacred Science\",\"overview\":\"Diabetes. Prostate cancer...\",\"genres\":[\"Documentary\",\"Adventure\",\"Drama\"]}]}" + } +} +``` + +### Sample OpenAI tool declaration + +Include these tools in your request's `tools` array to enable enhanced functionality: + + + +```json +{ + … + "tools": [ + { + "type": "function", + "function": { + "name": "_meiliSearchProgress", + "description": "Provides information about the current Meilisearch search operation", + "parameters": { + "type": "object", + "properties": { + "call_id": { + "type": "string", + "description": "The call ID to track the sources of the search" + }, + "function_name": { + "type": "string", + "description": "The name of the function we are executing" + }, + "function_parameters": { + "type": "string", + "description": "The parameters of the function we are executing, encoded in JSON" + } + }, + "required": ["call_id", "function_name", "function_parameters"], + "additionalProperties": false + }, + "strict": true + } + }, + { + "type": "function", + "function": { + "name": "_meiliAppendConversationMessage", + "description": "Append a new message to the conversation based on what happened internally", + "parameters": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "The role of the messages author, either `role` or `assistant`" + }, + "content": { + "type": "string", + "description": "The contents of the `assistant` or `tool` message. Required unless `tool_calls` is specified." + }, + "tool_calls": { + "type": ["array", "null"], + "description": "The tool calls generated by the model, such as function calls", + "items": { + "type": "object", + "properties": { + "function": { + "type": "object", + "description": "The function that the model called", + "properties": { + "name": { + "type": "string", + "description": "The name of the function to call" + }, + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function." + } + } + }, + "id": { + "type": "string", + "description": "The ID of the tool call" + }, + "type": { + "type": "string", + "description": "The type of the tool. Currently, only function is supported" + } + } + } + }, + "tool_call_id": { + "type": ["string", "null"], + "description": "Tool call that this message is responding to" + } + }, + "required": ["role", "content", "tool_calls", "tool_call_id"], + "additionalProperties": false + }, + "strict": true + } + }, + { + "type": "function", + "function": { + "name": "_meiliSearchSources", + "description": "Provides sources of the search", + "parameters": { + "type": "object", + "properties": { + "call_id": { + "type": "string", + "description": "The call ID to track the original search associated to those sources" + }, + "documents": { + "type": "object", + "description": "The documents associated with the search (call_id). Only the displayed attributes of the documents are returned" + } + }, + "required": ["call_id", "documents"], + "additionalProperties": false + }, + "strict": true + } + } + ] +} +``` + + diff --git a/learn/ai_powered_search/conversational_search_with_chat.mdx b/learn/chat/conversational_search.mdx similarity index 65% rename from learn/ai_powered_search/conversational_search_with_chat.mdx rename to learn/chat/conversational_search.mdx index d8de0f76d..773cc2a22 100644 --- a/learn/ai_powered_search/conversational_search_with_chat.mdx +++ b/learn/chat/conversational_search.mdx @@ -1,18 +1,28 @@ --- -title: Conversational search with chat +title: Conversational search sidebarTitle: Conversational search description: Learn how to implement AI-powered conversational search using Meilisearch's chat feature --- Meilisearch's chat completions feature enables AI-powered conversational search, allowing users to ask questions in natural language and receive direct answers based on your indexed content. This feature transforms the traditional search experience into an interactive dialogue. - -The chat completions feature is experimental and must be enabled through [experimental features](/reference/api/experimental_features). API specifications may change in future releases. - + +This is an experimental feature. Use the Meilisearch Cloud UI or the experimental features endpoint to activate it: + +```sh +curl \ + -X PATCH 'MEILISEARCH_URL/experimental-features/' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "chatCompletions": true + }' +``` + ## What is conversational search? -Conversational search allows users to: +Conversational search interfaces allow users to: + - Ask questions in natural language instead of using keywords - Receive direct answers rather than just document links - Maintain context across multiple questions @@ -23,53 +33,50 @@ This approach bridges the gap between traditional search and modern AI experienc ## How chat completions differs from traditional search ### Traditional search workflow + 1. User enters keywords 2. Meilisearch returns matching documents 3. User reviews results to find answers ### Conversational search workflow + 1. User asks a question in natural language 2. Meilisearch retrieves relevant documents 3. AI generates a direct answer based on those documents 4. User can ask follow-up questions -## RAG implementation simplified - -The chat completions feature implements a complete Retrieval Augmented Generation (RAG) pipeline in a single API endpoint. Traditional RAG implementations require: - -- Multiple LLM calls for query optimization -- Separate vector database for semantic search -- Custom reranking solutions -- Complex pipeline management - -Meilisearch's chat completions consolidates these into one streamlined process: - -1. **Query understanding**: Automatically transforms questions into optimal search parameters -2. **Hybrid retrieval**: Combines keyword and semantic search for superior relevance -3. **Answer generation**: Uses your chosen LLM to generate responses -4. **Context management**: Maintains conversation history automatically - ## When to use chat completions vs traditional search ### Use conversational search when: + - Users need direct answers to specific questions - Content is informational (documentation, knowledge bases, FAQs) - Users benefit from follow-up questions - Natural language interaction improves user experience ### Use traditional search when: + - Users need to browse multiple options - Results require comparison (e-commerce products, listings) - Exact matching is critical - Response time is paramount -## Alternative: Model Context Protocol integration +## Use chat completions to implement RAG pipelines + +The chat completions feature implements a complete Retrieval Augmented Generation (RAG) pipeline in a single API endpoint. Meilisearch's chat completions consolidates RAG creation into one streamlined process: + +1. **Query understanding**: automatically transforms questions into search parameters +2. **Hybrid retrieval**: combines keyword and semantic search for better relevancy +3. **Answer generation**: uses your chosen LLM to generate responses +4. **Context management**: maintains conversation history by constantly pushing the full conversation to the dedicated tool + +### Alternative: MCP integration When integrating Meilisearch with AI assistants and automation tools, consider using [Meilisearch's Model Context Protocol (MCP) server](/guides/ai/mcp). MCP enables standardized tool integration across various AI platforms and applications. ## Architecture overview -The chat completions feature operates through workspaces, which are isolated configurations for different use cases or tenants. Each workspace can: +Chat completions operate through workspaces, which are isolated configurations for different use cases. Each workspace can: - Use different LLM sources (openAi, azureOpenAi, mistral, gemini, vLlm) - Apply custom prompts @@ -97,13 +104,12 @@ The chat completions feature operates through workspaces, which are isolated con The chat completions feature integrates with Meilisearch's existing security model: -- **API key permissions**: Chat only accesses indexes visible to the provided API key -- **Tenant tokens**: Support for multi-tenant applications -- **LLM credentials**: Stored securely in workspace settings -- **Content isolation**: Responses based only on indexed content +- **API key permissions**: chat only accesses indexes visible to the provided API key +- **Tenant tokens**: support for multi-tenant applications +- **LLM credentials**: stored securely in workspace settings +- **Content isolation**: responses based only on indexed content ## Next steps -- [Get started with chat completions implementation](/guides/ai/getting_started_with_chat) +- [Get started with chat completions implementation](/learn/chat/getting_started_with_chat) - [Explore the chat completions API reference](/reference/api/chats) -- [Learn about experimental features](/reference/api/experimental_features) diff --git a/guides/ai/getting_started_with_chat.mdx b/learn/chat/getting_started_with_chat.mdx similarity index 59% rename from guides/ai/getting_started_with_chat.mdx rename to learn/chat/getting_started_with_chat.mdx index 689c9c119..1288decd0 100644 --- a/guides/ai/getting_started_with_chat.mdx +++ b/learn/chat/getting_started_with_chat.mdx @@ -6,62 +6,47 @@ description: Learn how to implement AI-powered conversational search in your app This guide walks you through implementing Meilisearch's chat completions feature to create conversational search experiences in your application. - -The chat completions feature is experimental and must be enabled before use. See [experimental features](/reference/api/experimental_features) for activation instructions. - - ## Prerequisites Before starting, ensure you have: -- Meilisearch instance running (v1.15.1 or later) **with a master key** (required for authentication) -- An API key from an LLM provider (OpenAI, Azure OpenAI, Mistral, Gemini, or access to a vLLM server) +- A [secure](/learn/security/basic_security) Meilisearch >= v1.15.1 project +- An API key from an LLM provider - At least one index with searchable content -- The chat completions experimental feature enabled - - -**Important**: You MUST start Meilisearch with a master key to enable authentication. Without it, the chat feature will not work properly. - -Example: `meilisearch --master-key yourMasterKey` - -In some versions, you may also need to add the `--experimental-enable-chat` flag when starting Meilisearch. - -## Quick start - -### Enable the chat completions feature +## Enable the chat completions feature First, enable the chat completions experimental feature: ```bash curl \ -X PATCH 'http://localhost:7700/experimental-features/' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "chatCompletions": true }' ``` -### Find your chat API key +## Find your chat API key When Meilisearch runs with a master key, it automatically creates a "Default Chat API Key" with `chatCompletions` permission. Find it using: ```bash curl http://localhost:7700/keys \ - -H "Authorization: Bearer " + -H "Authorization: Bearer MEILISEARCH_KEY" ``` -Look for the key with "Default Chat API Key" in the description. You'll use this key (or the master key) for chat endpoint requests. +Look for the key with "Default Chat API Key" in the description. Use this key when queryin the `/chats` endpoint. -### Configure your indexes for chat +## Configure your indexes for chat Each index that you want to be searchable through chat needs specific configuration: ```bash curl \ -X PATCH 'http://localhost:7700/indexes/movies/settings' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "chat": { @@ -77,7 +62,7 @@ curl \ The `description` field helps the LLM understand what data is in the index, improving search relevance. -### Configure a chat completions workspace +## Configure a chat completions workspace Create a workspace with your LLM provider settings. Here are examples for different providers: @@ -86,7 +71,7 @@ Create a workspace with your LLM provider settings. Here are examples for differ ```bash openAi curl \ -X PUT 'http://localhost:7700/chats/my-assistant/settings' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "openAi", @@ -101,7 +86,7 @@ curl \ ```bash azureOpenAi curl \ -X PUT 'http://localhost:7700/chats/my-assistant/settings' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "azureOpenAi", @@ -116,7 +101,7 @@ curl \ ```bash mistral curl \ -X PUT 'http://localhost:7700/chats/my-assistant/settings' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "mistral", @@ -130,7 +115,7 @@ curl \ ```bash gemini curl \ -X PUT 'http://localhost:7700/chats/my-assistant/settings' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "gemini", @@ -144,7 +129,7 @@ curl \ ```bash vLlm curl \ -X PUT 'http://localhost:7700/chats/my-assistant/settings' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "vLlm", @@ -157,7 +142,7 @@ curl \ -### Send your first chat completions request +## Send your first chat completions request Now you can start a conversation. Note the `-N` flag for handling streaming responses: @@ -174,28 +159,32 @@ curl -N \ "content": "What movies do you have about space exploration?" } ], - "stream": true + "stream": true, + "tools": [ + { + "type": "function", + "function": { + "name": "_meiliSearchProgress", + "description": "Reports real-time search progress to the user" + } + }, + { + "type": "function", + "function": { + "name": "_meiliSearchSources", + "description": "Provides sources and references for the information" + } + } + ] }' ``` - -Currently, only streaming responses (`stream: true`) are supported. Non-streaming responses are not yet available and will result in an error. - - -## Understanding workspaces - -Workspaces allow you to create isolated chat configurations for different use cases: +Take particular note of the `tools` array. These settings are optional, but greatly improve user experience: -- **Customer support**: Configure with support-focused prompts -- **Product search**: Optimize for e-commerce queries -- **Documentation**: Tune for technical Q&A +- **`_meiliSearchProgress`**: shows users what searches are being performed +- **`_meiliSearchSources`**: displays the actual documents used to generate responses -Each workspace maintains its own: - -- LLM provider configuration -- System prompt - -## Building a chat interface with OpenAI SDK +## Build a chat interface using the OpenAI SDK Since Meilisearch's chat endpoint is OpenAI-compatible, you can use the official OpenAI SDK: @@ -261,9 +250,9 @@ for await (const chunk of stream) { -## Error handling +### Error handling -When using the OpenAI SDK with Meilisearch's chat completions endpoint, errors from the streamed responses are natively handled by the official OpenAI SDK. This means you can use the SDK's built-in error handling mechanisms without additional configuration: +When using the OpenAI SDK with Meilisearch's chat completions endpoint, errors from the streamed responses are natively handled by OpenAI. This means you can use the SDK's built-in error handling mechanisms without additional configuration: @@ -272,7 +261,7 @@ import OpenAI from 'openai'; const client = new OpenAI({ baseURL: 'http://localhost:7700/chats/my-assistant', - apiKey: 'YOUR_CHAT_API_KEY', + apiKey: 'MEILISEARCH_KEY', }); try { @@ -296,7 +285,7 @@ from openai import OpenAI client = OpenAI( base_url="http://localhost:7700/chats/my-assistant", - api_key="YOUR_CHAT_API_KEY" + api_key="MEILISEARCH_KEY" ) try: @@ -316,52 +305,6 @@ except Exception as error: -## Enabling database search with Meilisearch tools - - -**Critical**: Without including the Meilisearch tools in your request, the chat will only use the LLM's general knowledge and won't search your actual Meilisearch indexes! - - -To make the chat search your Meilisearch indexes, you must include these special tools in your request: - -```bash -curl -N \ - -X POST 'http://localhost:7700/chats/my-assistant/chat/completions' \ - -H 'Authorization: Bearer ' \ - -H 'Content-Type: application/json' \ - --data-binary '{ - "model": "gpt-3.5-turbo", - "messages": [ - { - "role": "user", - "content": "What movies do you have about space exploration?" - } - ], - "stream": true, - "tools": [ - { - "type": "function", - "function": { - "name": "_meiliSearchProgress", - "description": "Reports real-time search progress to the user" - } - }, - { - "type": "function", - "function": { - "name": "_meiliSearchSources", - "description": "Provides sources and references for the information" - } - } - ] - }' -``` - -These tools enable: - -- **`_meiliSearchProgress`**: Shows users what searches are being performed -- **`_meiliSearchSources`**: Provides the actual documents used to generate responses - ## Troubleshooting ### Common issues and solutions @@ -388,7 +331,7 @@ These tools enable: - Use either the master key or the "Default Chat API Key" - Don't use search or admin API keys for chat endpoints -- Find your chat key: `curl http://localhost:7700/keys -H "Authorization: Bearer "` +- Find your chat key: `curl http://localhost:7700/keys -H "Authorization: Bearer MEILISEARCH_KEY"` #### "Socket connection closed unexpectedly" @@ -400,14 +343,14 @@ These tools enable: ```bash curl http://localhost:7700/chats/my-assistant/settings \ - -H "Authorization: Bearer " + -H "Authorization: Bearer MEILISEARCH_KEY" ``` 2. Update with valid API key: ```bash curl -X PUT http://localhost:7700/chats/my-assistant/settings \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer MEILISEARCH_KEY" \ -H "Content-Type: application/json" \ -d '{"apiKey": "your-valid-api-key"}' ``` @@ -430,113 +373,8 @@ These tools enable: - Always set `"stream": true` in your requests - Non-streaming responses are not yet supported -## Complete working example - -Here's a full example showing the complete setup process: - -### Step 1: Start Meilisearch with authentication - -```bash -meilisearch --master-key myMasterKey123 -``` - -### Step 2: Enable experimental features - -```bash -curl -X PATCH 'http://localhost:7700/experimental-features/' \ - -H 'Authorization: Bearer myMasterKey123' \ - -H 'Content-Type: application/json' \ - -d '{"chatCompletions": true}' -``` - -### Step 3: Create and populate an index - -```bash -# Create index -curl -X POST 'http://localhost:7700/indexes' \ - -H 'Authorization: Bearer myMasterKey123' \ - -H 'Content-Type: application/json' \ - -d '{"uid": "movies", "primaryKey": "id"}' - -# Add documents -curl -X POST 'http://localhost:7700/indexes/movies/documents' \ - -H 'Authorization: Bearer myMasterKey123' \ - -H 'Content-Type: application/json' \ - -d '[ - {"id": 1, "title": "Interstellar", "description": "A team of explorers travel through a wormhole in space"}, - {"id": 2, "title": "The Martian", "description": "An astronaut becomes stranded on Mars"} - ]' -``` - -### Step 4: Configure index for chat - -```bash -curl -X PATCH 'http://localhost:7700/indexes/movies/settings' \ - -H 'Authorization: Bearer myMasterKey123' \ - -H 'Content-Type: application/json' \ - -d '{ - "chat": { - "description": "A movie database with titles and descriptions", - "documentTemplate": "Title: {{ title }}\nDescription: {{ description }}\n", - "documentTemplateMaxBytes": 400 - } - }' -``` - -### Step 5: Create chat workspace - -```bash -curl -X PUT 'http://localhost:7700/chats/movie-advisor/settings' \ - -H 'Authorization: Bearer myMasterKey123' \ - -H 'Content-Type: application/json' \ - -d '{ - "source": "openAi", - "apiKey": "sk-your-openai-key", - "prompts": { - "system": "You are a movie recommendation assistant. Help users find movies based on their preferences." - } - }' -``` - -### Step 6: Get your chat API key - -```bash -curl http://localhost:7700/keys \ - -H "Authorization: Bearer myMasterKey123" \ - | grep -A 5 "Default Chat API Key" -``` - -### Step 7: Make a chat request with tools - -```bash -curl -N -X POST 'http://localhost:7700/chats/movie-advisor/chat/completions' \ - -H 'Authorization: Bearer ' \ - -H 'Content-Type: application/json' \ - -d '{ - "model": "gpt-3.5-turbo", - "messages": [{"role": "user", "content": "What space movies do you have?"}], - "stream": true, - "tools": [ - { - "type": "function", - "function": { - "name": "_meiliSearchProgress", - "description": "Reports search progress" - } - }, - { - "type": "function", - "function": { - "name": "_meiliSearchSources", - "description": "Provides source documents" - } - } - ] - }' -``` - ## Next steps - Explore [advanced chat API features](/reference/api/chats) -- Learn about [conversational search concepts](/learn/ai_powered_search/conversational_search_with_chat) -- Review [security best practices](/learn/security/basic_security) +- Learn about [conversational search concepts](/learn/chat/conversational_search) +- Review [security best practices](/learn/security/basic_security) \ No newline at end of file diff --git a/reference/api/chats.mdx b/reference/api/chats.mdx index 07f62d525..7b11a158e 100644 --- a/reference/api/chats.mdx +++ b/reference/api/chats.mdx @@ -1,12 +1,12 @@ --- title: Chats sidebarTitle: Chats -description: The /chats route allows you to create conversational search experiences using LLM technology +description: Use the chat completion API to create conversational search experiences using LLM technology --- import { RouteHighlighter } from '/snippets/route_highlighter.mdx'; -The `/chats` route enables AI-powered conversational search by integrating Large Language Models (LLMs) with your Meilisearch data. This feature allows users to ask questions in natural language and receive contextual answers based on your indexed content. +The `/chats` route enables AI-powered conversational search by integrating Large Language Models (LLMs) with your Meilisearch data. This is an experimental feature. Use the Meilisearch Cloud UI or the experimental features endpoint to activate it: @@ -19,30 +19,100 @@ curl \ "chatCompletions": true }' ``` - -## Chat completions workspace object +## Authorization + +When working with a secure Meilisearch instance, Use an API key with access to both the `search` and `chatCompletions` actions, such as the default chat API key. + +Chat queries only search indexes its API key can access. The default chat API key has access to all indexes. To limit chat access to specific indexes, you must either create a new key, or [generate a tenant token](/learn/security/generate_tenant_token_sdk) from the default chat API key. + +## Chat workspace object ```json { - "uid": "customer-support" + "uid": "WORKSPACE_NAME" } ``` -| Name | Type | Description | -| :---------- | :----- | :-------------------------------------------------- | +| Name | Type | Description | +| :---------- | :----- | :--------------------------------------------------- | | **`uid`** | String | Unique identifier for the chat completions workspace | -## Update the chat workspace settings +## List chat workspaces - + - -Both `PUT` and `PATCH` methods are supported. The first call to either method will create the workspace UID if it doesn't already exist. `PUT` replaces the entire configuration, while `PATCH` updates only the provided fields. - +List all chat workspaces. Results can be paginated by using the `offset` and `limit` query parameters. -Configure the LLM provider and settings for a chat workspace. +### Query parameters + +| Query parameter | Description | Default value | +| :-------------- | :----------------------------- | :------------ | +| **`offset`** | Number of workspaces to skip | `0` | +| **`limit`** | Number of workspaces to return | `20` | + +### Response + +| Name | Type | Description | +| :------------ | :------ | :----------------------------------- | +| **`results`** | Array | An array of [workspaces](#chat-workspace-object) | +| **`offset`** | Integer | Number of workspaces skipped | +| **`limit`** | Integer | Number of workspaces returned | +| **`total`** | Integer | Total number of workspaces | + +### Example + +```sh + curl \ + -X GET 'MEILISEARCH_URL/chats?limit=3' +``` + +#### Response: `200 Ok` + +```json +{ + "results": [ + { "uid": "WORKSPACE_1" }, + { "uid": "WORKSPACE_2" }, + { "uid": "WORKSPACE_3" } + ], + "offset": 0, + "limit": 20, + "total": 3 +} +``` + +## Get one chat workspace + + + +Get information about a workshop. + +### Path parameters + +| Name | Type | Description | +| :---------------- | :----- | :------------------------------------------------------------------------ | +| **`workspace_uid`** * | String | `uid` of the requested index | + +### Example + +```sh + curl \ + -X GET 'MEILISEARCH_URL/chats/WORKSPACE_UID' +``` + +#### Response: `200 Ok` + +```json +{ + "uid": "WORKSPACE_UID" +} +``` + +## Chat workspace settings + +### Chat workspace settings object ```json { @@ -59,13 +129,67 @@ Configure the LLM provider and settings for a chat workspace. } ``` -### Path parameters +#### The prompts object + +| Name | Type | Description | +| :------------------------ | :----- | :---------------------------------------------------------------- | +| **`system`** | String | A prompt added to the start of the conversation to guide the LLM | +| **`searchDescription`** | String | A prompt to explain what the internal search function does | +| **`searchQParam`** | String | A prompt to explain what the `q` parameter of the search function does and how to use it | +| **`searchIndexUidParam`** | String | A prompt to explain what the `indexUid` parameter of the search function does and how to use it | + +### Get chat workspace settings + + + +Retrieve the current settings for a chat workspace. + +#### Path parameters + +| Name | Type | Description | +| :-------------- | :----- | :----------------------------------- | +| **`workspace_uid`** | String | The workspace identifier | + +#### Response: `200 OK` + +Returns the settings object. For security reasons, the `apiKey` field is obfuscated. + +```json +{ + "source": "openAi", + "prompts": { + "system": "You are a helpful assistant." + } +} +``` + +#### Example + + + +```bash cURL +curl \ + -X GET 'http://localhost:7700/chats/WORKSPACE_UID/settings' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' +``` + + + +### Update chat workspace settings + + + +Configure the LLM provider and settings for a chat workspace. + +If the workspace does not exist, querying this endpoint will create it. + +#### Path parameters | Name | Type | Description | | :-------------- | :----- | :----------------------------------- | -| **`workspace`** | String | The workspace identifier | +| **`workspace_uid`** | String | The workspace identifier | -### Settings parameters +#### Settings parameters | Name | Type | Description | | :---------------- | :----- | :---------------------------------------------------------------------------- | @@ -78,41 +202,32 @@ Configure the LLM provider and settings for a chat workspace. | **`apiKey`** | String | API key for the LLM provider (optional for vLlm) | | **`prompts`** | Object | Prompts object containing system prompts and other configuration | -### The prompts object - -| Name | Type | Description | -| :------------------------ | :----- | :---------------------------------------------------------------- | -| **`system`** | String | A prompt added to the start of the conversation to guide the LLM | -| **`searchDescription`** | String | A prompt to explain what the internal search function does | -| **`searchQParam`** | String | A prompt to explain what the `q` parameter of the search function does and how to use it | -| **`searchIndexUidParam`** | String | A prompt to explain what the `indexUid` parameter of the search function does and how to use it | - -### Request body +#### Request body ```json { "source": "openAi", - "apiKey": "sk-...", + "apiKey": "OPEN_AI_API_KEY", "prompts": { - "system": "You are a helpful assistant." + "system": "DEFAULT CHAT INSTRUCTIONS" } } ``` All fields are optional. Only provided fields will be updated. -### Response: `200 OK` +#### Response: `200 OK` -Returns the updated settings object. Note that `apiKey` is write-only and will not be returned in the response. +Returns the updated settings object. `apiKey` is write-only and will not be returned in the response. -### Examples +#### Examples ```bash openAi curl \ -X PATCH 'http://localhost:7700/chats/customer-support/settings' \ - -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "openAi", @@ -126,7 +241,7 @@ curl \ ```bash azureOpenAi curl \ -X PATCH 'http://localhost:7700/chats/customer-support/settings' \ - -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "azureOpenAi", @@ -144,7 +259,7 @@ curl \ ```bash mistral curl \ -X PATCH 'http://localhost:7700/chats/customer-support/settings' \ - -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "mistral", @@ -158,7 +273,7 @@ curl \ ```bash gemini curl \ -X PATCH 'http://localhost:7700/chats/customer-support/settings' \ - -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "gemini", @@ -172,7 +287,7 @@ curl \ ```bash vLlm curl \ -X PATCH 'http://localhost:7700/chats/customer-support/settings' \ - -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "source": "vLlm", @@ -185,11 +300,48 @@ curl \ +### Reset chat workspace settings + + + +Reset a chat workspace's settings to its default values. + +#### Path parameters + +| Name | Type | Description | +| :-------------- | :----- | :----------------------------------- | +| **`workspace_uid`** | String | The workspace identifier | + +#### Response: `200 OK` + +Returns the settings object without the `apiKey` field. + +```json +{ + "source": "openAi", + "prompts": { + "system": "You are a helpful assistant." + } +} +``` + +#### Example + + + +```bash cURL +curl \ + -X DELETE 'http://localhost:7700/chats/customer-support/settings' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' +``` + + + ## Chat completions - + -Create a chat completion using the OpenAI-compatible interface. The endpoint searches relevant indexes and generates responses based on the retrieved content. +Create a chat completion using Meilisearch's OpenAI-compatible interface. The endpoint searches relevant indexes and generates responses based on the retrieved content. ### Path parameters @@ -219,7 +371,7 @@ Create a chat completion using the OpenAI-compatible interface. The endpoint sea | **`stream`** | Boolean | No | Enable streaming responses (default: `true`) | -Currently, only streaming responses (`stream: true`) are supported. Non-streaming responses will be available in a future release. +Currently, only streaming responses (`stream: true`) are supported. ### Message object @@ -305,324 +457,3 @@ for chunk in stream: ``` - -## Get chat settings - - - -Retrieve the current settings for a chat workspace. - -### Path parameters - -| Name | Type | Description | -| :-------------- | :----- | :----------------------------------- | -| **`workspace`** | String | The workspace identifier | - -### Response: `200 OK` - -Returns the settings object without the `apiKey` field. - -```json -{ - "source": "openAi", - "prompts": { - "system": "You are a helpful assistant." - } -} -``` - -### Example - - - -```bash cURL -curl \ - -X GET 'http://localhost:7700/chats/customer-support/settings' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - - - -## List chat workspaces - - - -List all available chat workspaces. Results can be paginated using query parameters. - -### Query parameters - -| Query parameter | Description | Default value | -| :-------------- | :----------------------------- | :------------ | -| **`offset`** | Number of workspaces to skip | `0` | -| **`limit`** | Number of workspaces to return | `20` | - -### Response - -| Name | Type | Description | -| :------------ | :------ | :---------------------------------------- | -| **`results`** | Array | An array of chat workspace objects | -| **`offset`** | Integer | Number of workspaces skipped | -| **`limit`** | Integer | Number of workspaces returned | -| **`total`** | Integer | Total number of workspaces | - -### Example - - - -```bash cURL -curl \ - -X GET 'http://localhost:7700/chats?limit=10' \ - -H 'Authorization: Bearer MASTER_KEY' -``` - - - -#### Response: `200 OK` - -```json -{ - "results": [ - { - "uid": "customer-support" - }, - { - "uid": "internal-docs" - } - ], - "offset": 0, - "limit": 10, - "total": 2 -} -``` - -## Authentication - -The chat feature integrates with Meilisearch's authentication system: - -- **Default Chat API Key**: A new default key is created when chat is enabled, with permissions to access chat endpoints -- **Tenant tokens**: Fully supported for multi-tenant applications -- **Index visibility**: Chat searches only indexes accessible with the provided API key - -## Tool calling - -The chat feature uses internal tool calling to search your indexes and provide enhanced user experience. For optimal performance and user experience, you should declare three special tools in your chat completion requests. These tools are handled internally by Meilisearch and provide real-time feedback about search operations, conversation context, and source documents. - -### Overview of Special Tools - -- **`_meiliSearchProgress`**: Reports real-time search progress and operations -- **`_meiliAppendConversationMessage`**: Maintains conversation context for better responses -- **`_meiliSearchSources`**: Provides source documents used in generating responses - -### Tool Declaration - -Include these tools in your request's `tools` array to enable enhanced functionality: - - - -```json Complete Tool Declaration -{ - "model": "gpt-3.5-turbo", - "stream": true, - "messages": [ - { - "role": "user", - "content": "What is Meilisearch?" - } - ], - "tools": [ - { - "type": "function", - "function": { - "name": "_meiliSearchProgress", - "description": "Provides information about the current Meilisearch search operation", - "parameters": { - "type": "object", - "properties": { - "call_id": { - "type": "string", - "description": "The call ID to track the sources of the search" - }, - "function_name": { - "type": "string", - "description": "The name of the function we are executing" - }, - "function_parameters": { - "type": "string", - "description": "The parameters of the function we are executing, encoded in JSON" - } - }, - "required": ["call_id", "function_name", "function_parameters"], - "additionalProperties": false - }, - "strict": true - } - }, - { - "type": "function", - "function": { - "name": "_meiliAppendConversationMessage", - "description": "Append a new message to the conversation based on what happened internally", - "parameters": { - "type": "object", - "properties": { - "role": { - "type": "string", - "description": "The role of the messages author, either `role` or `assistant`" - }, - "content": { - "type": "string", - "description": "The contents of the `assistant` or `tool` message. Required unless `tool_calls` is specified." - }, - "tool_calls": { - "type": ["array", "null"], - "description": "The tool calls generated by the model, such as function calls", - "items": { - "type": "object", - "properties": { - "function": { - "type": "object", - "description": "The function that the model called", - "properties": { - "name": { - "type": "string", - "description": "The name of the function to call" - }, - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function." - } - } - }, - "id": { - "type": "string", - "description": "The ID of the tool call" - }, - "type": { - "type": "string", - "description": "The type of the tool. Currently, only function is supported" - } - } - } - }, - "tool_call_id": { - "type": ["string", "null"], - "description": "Tool call that this message is responding to" - } - }, - "required": ["role", "content", "tool_calls", "tool_call_id"], - "additionalProperties": false - }, - "strict": true - } - }, - { - "type": "function", - "function": { - "name": "_meiliSearchSources", - "description": "Provides sources of the search", - "parameters": { - "type": "object", - "properties": { - "call_id": { - "type": "string", - "description": "The call ID to track the original search associated to those sources" - }, - "documents": { - "type": "object", - "description": "The documents associated with the search (call_id). Only the displayed attributes of the documents are returned" - } - }, - "required": ["call_id", "documents"], - "additionalProperties": false - }, - "strict": true - } - } - ] -} -``` - - - -### Tool Functions Explained - -#### `_meiliSearchProgress` - -This tool reports real-time progress of internal search operations. When declared, Meilisearch will call this function whenever search operations are performed in the background. - -**Purpose**: Provides transparency about search operations and reduces perceived latency by showing users what's happening behind the scenes. - -**Arguments**: - -- `call_id`: Unique identifier to track the search operation -- `function_name`: Name of the internal function being executed (e.g., "_meiliSearchInIndex") -- `function_parameters`: JSON-encoded string containing search parameters like `q` (query) and `index_uid` - -**Example Response**: - -```json -{ - "function": { - "name": "_meiliSearchProgress", - "arguments": "{\"call_id\":\"89939d1f-6857-477c-8ae2-838c7a504e6a\",\"function_name\":\"_meiliSearchInIndex\",\"function_parameters\":\"{\\\"index_uid\\\":\\\"movies\\\",\\\"q\\\":\\\"search engine\\\"}\"}" - } -} -``` - -#### `_meiliAppendConversationMessage` - -Since the `/chats/{workspace}/chat/completions` endpoint is stateless, this tool helps maintain conversation context by requesting the client to append internal messages to the conversation history. - -**Purpose**: Maintains conversation context for better response quality in subsequent requests by preserving tool calls and results. - -**Arguments**: - -- `role`: Message author role ("user" or "assistant") -- `content`: Message content (for tool results) -- `tool_calls`: Array of tool calls made by the assistant -- `tool_call_id`: ID of the tool call this message responds to - -**Example Response**: - -```json -{ - "function": { - "name": "_meiliAppendConversationMessage", - "arguments": "{\"role\":\"assistant\",\"tool_calls\":[{\"id\":\"call_ijAdM42bixq9lAF4SiPwkq2b\",\"type\":\"function\",\"function\":{\"name\":\"_meiliSearchInIndex\",\"arguments\":\"{\\\"index_uid\\\":\\\"movies\\\",\\\"q\\\":\\\"search engine\\\"}\"}}]}" - } -} -``` - -#### `_meiliSearchSources` - -This tool provides the source documents that were used by the LLM to generate responses, enabling transparency and allowing users to verify information sources. - -**Purpose**: Shows users which documents were used to generate responses, improving trust and enabling source verification. - -**Arguments**: - -- `call_id`: Matches the `call_id` from `_meiliSearchProgress` to associate queries with results -- `documents`: JSON object containing the source documents with only displayed attributes - -**Example Response**: - -```json -{ - "function": { - "name": "_meiliSearchSources", - "arguments": "{\"call_id\":\"abc123\",\"documents\":[{\"id\":197302,\"title\":\"The Sacred Science\",\"overview\":\"Diabetes. Prostate cancer...\",\"genres\":[\"Documentary\",\"Adventure\",\"Drama\"]}]}" - } -} -``` - -### Implementation Best Practices - -1. **Always declare all three tools** for the best user experience -2. **Handle progress updates** by displaying search status to users during streaming -3. **Append conversation messages** as requested to maintain context for future requests -4. **Display source documents** to users for transparency and verification -5. **Use the `call_id`** to associate progress updates with their corresponding source results - - -These special tools are handled internally by Meilisearch and are not forwarded to the LLM provider. They serve as a communication mechanism between Meilisearch and your application to provide enhanced user experience features. - diff --git a/reference/api/network.mdx b/reference/api/network.mdx index 4a456c42b..cacac632b 100644 --- a/reference/api/network.mdx +++ b/reference/api/network.mdx @@ -88,7 +88,7 @@ Do not enable the `network` feature if you rely on the value of attributes not p ## Get the network object - + Returns the current value of the instance's network object. @@ -116,7 +116,7 @@ Returns the current value of the instance's network object. ## Update the network object - + Update the `self` and `remotes` fields of the network object. diff --git a/reference/api/settings.mdx b/reference/api/settings.mdx index ad7845256..997bd5fed 100644 --- a/reference/api/settings.mdx +++ b/reference/api/settings.mdx @@ -2933,7 +2933,7 @@ This is an experimental feature. Use the Meilisearch Cloud UI or the experimenta ```sh curl \ -X PATCH 'http://localhost:7700/experimental-features/' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_API_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "chatCompletions": true @@ -2942,12 +2942,10 @@ curl \ -The chat settings allow you to configure how your index integrates with Meilisearch's conversational search feature. This enables the chat completions endpoint to search your index and generate responses based on your documents. +The chat settings allow you to configure how your index integrates with Meilisearch's conversational search feature. ### Chat object -The chat object in the index settings contains multiple settings to configure the conversational querying. - ```json { "description": "A comprehensive movie database containing titles, overviews, genres, and release dates to help users find movies", @@ -2964,14 +2962,14 @@ The chat object may contain the following fields: | Name | Type | Default Value | Description | | ------------------------------ | ------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| **`description`** | String | Empty | The description of the index. Used to help the LLM decide which index to use when generating answers | +| **`description`** | String | Empty | The description of the index. Helps the LLM decide which index to use when generating answers | | **`documentTemplate`** | String | `{% for field in fields %} {% if field.is_searchable and not field.value == nil %}{{ field.name }}: {{ field.value }} {% endif %} {% endfor %}` | Template defining the data Meilisearch sends to the LLM | | **`documentTemplateMaxBytes`** | Integer | 400 | Maximum allowed size of rendered document template | | **`searchParameters`** | Object | Empty | The search parameters to use when LLM is performing search requests | ### Search parameters object -Corresponds to a subset of the [search parameters object](/reference/api/search#search-parameters-object): +Must be one of the following [search parameters](/reference/api/search#search-parameters-object): - **`hybrid`** - **`limit`** @@ -2998,7 +2996,7 @@ Get the index chat settings configured for an index. ```bash curl \ -X GET 'http://localhost:7700/indexes/movies/settings/chat' \ - -H 'Authorization: Bearer ' + -H 'Authorization: Bearer MEILISEARCH_KEY' ``` ##### Response: `200 OK` @@ -3014,7 +3012,7 @@ curl \ ### Update index chat settings - + Partially update the index chat settings for an index. @@ -3034,10 +3032,10 @@ Partially update the index chat settings for an index. "searchParameters": { "hybrid": , "limit": , - "sort": , + "sort": [, , … ], "distinct": , "matchingStrategy": , - "attributesToSearchOn": , + "attributesToSearchOn": [, , … ], "rankingScoreThreshold": , } } @@ -3048,7 +3046,7 @@ Partially update the index chat settings for an index. ```bash curl \ -X PATCH 'http://localhost:7700/indexes/movies/settings/chat' \ - -H 'Authorization: Bearer ' \ + -H 'Authorization: Bearer MEILISEARCH_KEY' \ -H 'Content-Type: application/json' \ --data-binary '{ "description": "A comprehensive movie database containing titles, descriptions, genres, and release dates to help users find movies", From 98fbe2c1c74fc7dfba5d880ff81b9a14ca060ffe Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Thu, 31 Jul 2025 14:15:02 +0200 Subject: [PATCH 14/16] v1.16: `/export` route (#3315) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add `/export` route * Update code samples [skip ci] * Apply suggestions from code review Co-authored-by: Clément Renault * Update code samples [skip ci] * clarify exporting data into existing indexes * Update reference/api/export.mdx Co-authored-by: Clément Renault --------- Co-authored-by: github-actions[bot] Co-authored-by: Clément Renault --- .code-samples.meilisearch.yaml | 12 ++++ docs.json | 3 +- reference/api/export.mdx | 68 +++++++++++++++++++ reference/errors/error_codes.mdx | 20 ++++++ ...mples_async_guide_filter_by_statuses_2.mdx | 9 +++ ...amples_basic_security_tutorial_admin_1.mdx | 8 +++ ...ples_basic_security_tutorial_listing_1.mdx | 8 +++ ...mples_basic_security_tutorial_search_1.mdx | 11 +++ ...ex_settings_tutorial_api_get_setting_1.mdx | 7 ++ ...ex_settings_tutorial_api_put_setting_1.mdx | 7 ++ ...les_index_settings_tutorial_api_task_1.mdx | 4 ++ ...ode_samples_related_results_embedder_1.mdx | 16 +++++ .../code_samples_related_results_search_1.mdx | 9 +++ ...code_samples_related_results_similar_1.mdx | 7 ++ ...amples_search_parameter_guide_vector_1.mdx | 10 +++ 15 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 reference/api/export.mdx diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index 87007b7a4..eb28cfa3b 100644 --- a/.code-samples.meilisearch.yaml +++ b/.code-samples.meilisearch.yaml @@ -1467,6 +1467,18 @@ related_results_similar_1: |- "id": 192, "embedder": "EMBEDDER_NAME" }' +export_post_1: |- + curl \ + -X POST 'MEILISEARCH_URL/export' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "url": "TARGET_INSTANCE_URL", + "indexes": { + "*": { + "overrideSettings": true + } + } + }' ### Code samples for experimental features experimental_get_metrics_1: |- diff --git a/docs.json b/docs.json index 58720adb7..e2ae21d7b 100644 --- a/docs.json +++ b/docs.json @@ -349,7 +349,8 @@ "reference/api/dump", "reference/api/experimental_features", "reference/api/metrics", - "reference/api/logs" + "reference/api/logs", + "reference/api/export" ] }, { diff --git a/reference/api/export.mdx b/reference/api/export.mdx new file mode 100644 index 000000000..5356ff58a --- /dev/null +++ b/reference/api/export.mdx @@ -0,0 +1,68 @@ +--- +title: Export +description: "Migrate between instances with the `/export` route" +--- + +import { RouteHighlighter } from '/snippets/route_highlighter.mdx' + +import CodeSamplesExperimentalDeleteLogsStream1 from '/snippets/samples/code_samples_experimental_delete_logs_stream_1.mdx'; + +Use the `/export` route to transfer data from your origin instance to a remote target instance. This is particularly useful when migrating from your local development environment to a Meilisearch Cloud instance. + +## Migrate database between instances + + + +Migrate data from the origin instance to a target instance. + +Migration is an additive operation. If the exported indexes already exist in the target instance, Meilisearch keeps the existing documents intact and adds the new data to the index. If the same document is present in both the target and origin, Meilisearch replaces the target documents with the new data. + +### Body + +| Name | Type | Default value | Description | +| ------------------- | ------ | ------------- | --------------------------------------------------------------------------------------------------------- | +| **`url`** * | String | `null` | The target instance's URL address. Required | +| **`apiKey`** * | String | `null` | An API key with full admin access to the target instance | +| **`payloadSize`** * | String | "50 MiB" | A string specifying the payload size in a human-readable format | +| **`indexes`** * | Object | `null` | A set of patterns matching the indexes you want to export. Defaults to all indexes in the origin instance | + +#### `url` + +A string pointing to a remote Meilisearch instance, including its port if necessary. + +This field is required. + +#### `apiKey` + +A security key with `index.create`, `settings.update`, and `documents.add` permissions to a secured Meilisearch instance. + +#### `payloadSize` + +The maximum size of each single data payload in a human-readable format such as `"100MiB"`. Larger payloads are generally more efficient, but require significantly more powerful machines. + +#### `indexes` + +A set of objects whose keys correspond to patterns matching the indexes you want to export. By default, Meilisearch exports all documents across all indexes. + +Meilisearch does not override any index settings by default. If the target instance contains an index with the same name as an index you're exporting, Meilisearch uses the settings in the target instance. If the index does not already exist in the target instance, Meilisearch uses the settings in the origin instance. + +Each index object accepts the following fields: + +- `filter`: a [filter expression](/learn/filtering_and_sorting/filter_expression_reference) defining the subset of documents to export. Optional, defaults to `null` +- `overrideSettings`: if `true`, configures indexes in the target instance with the origin instance settings. Optional, defaults to `false` + +### Example + + + +#### Response + +```json +{ + "taskUid": 2, + "indexUid": null, + "status": "enqueued", + "type": "export", + "enqueuedAt": "2025-06-26T12:54:10.785864Z" +} +``` diff --git a/reference/errors/error_codes.mdx b/reference/errors/error_codes.mdx index bf4c8dd1f..4de201aa9 100644 --- a/reference/errors/error_codes.mdx +++ b/reference/errors/error_codes.mdx @@ -192,6 +192,26 @@ This error occurs if: The provided `_geo` field of one or more documents is invalid. Meilisearch expects `_geo` to be an object with two fields, `lat` and `lng`, each containing geographic coordinates expressed as a string or floating point number. Read more about `_geo` and how to troubleshoot it in [our dedicated guide](/learn/filtering_and_sorting/geosearch). +## `invalid_export_url` + +The export target instance URL is invalid or could not be reached. + +## `invalid_export_api_key` + +The supplied security key does not have the required permissions to access the target instance. + +## `invalid_export_payload_size` + +The provided payload size is invalid. The payload size must be a string indicating the maximum payload size in a human-readable format. + +## `invalid_export_indexes_patterns` + +The provided index pattern is invalid. The index pattern must be an alphanumeric string, optionally including a wildcard. + +## `invalid_export_index_filter` + +The provided index export filter is not a valid [filter expression](/learn/filtering_and_sorting/filter_expression_reference). + ## `invalid_facet_search_facet_name` The attribute used for the `facetName` field is either not a string or not defined in the [`filterableAttributes` list](/reference/api/settings#filterable-attributes). 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 e9269c637..baeb40263 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 @@ -1,5 +1,14 @@ +```rust Rust +let mut query = TasksQuery::new(&client); +let tasks = query + .with_statuses(["failed", "canceled"]) + .execute() + .await + .unwrap(); +``` + ```rust Rust let mut query = TasksQuery::new(&client); let tasks = query 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 a4abc53c2..ceff49e5c 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx @@ -1,5 +1,13 @@ +```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(); +``` + ```rust Rust let client = Client::new("http://localhost:7700", Some("DEFAULT_ADMIN_API_KEY")); let task = client 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 2c9e05825..8204f7df2 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx @@ -1,5 +1,13 @@ +```rust Rust +let client = Client::new("http://localhost:7700", Some("MASTER_KEY")); +client + .get_keys() + .await + .unwrap(); +``` + ```rust Rust let client = Client::new("http://localhost:7700", Some("MASTER_KEY")); client 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 0194e32b1..ae56ffeb3 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx @@ -1,5 +1,16 @@ +```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(); +``` + ```rust Rust let client = Client::new("http://localhost:7700", Some("DEFAULT_SEARCH_API_KEY")); let index = client.index("medical_records"); 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 29529537a..cc5c601bf 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 @@ -1,5 +1,12 @@ +```rust Rust +let searchable_attributes: Vec = index + .get_searchable_attributes() + .await + .unwrap(); +``` + ```rust Rust let searchable_attributes: Vec = index .get_searchable_attributes() 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 5303c7ff6..83862266b 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 @@ -1,5 +1,12 @@ +```rust Rust +let task = index + .set_searchable_attributes(["title", "overview"]) + .await + .unwrap(); +``` + ```rust Rust let task = index .set_searchable_attributes(["title", "overview"]) 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 60604ff7f..95994eeba 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 @@ -1,5 +1,9 @@ +```rust Rust +let task_status = index.get_task(&task).await.unwrap(); +``` + ```rust Rust let task_status = index.get_task(&task).await.unwrap(); ``` diff --git a/snippets/samples/code_samples_related_results_embedder_1.mdx b/snippets/samples/code_samples_related_results_embedder_1.mdx index d9a45148e..afa2162de 100644 --- a/snippets/samples/code_samples_related_results_embedder_1.mdx +++ b/snippets/samples/code_samples_related_results_embedder_1.mdx @@ -1,5 +1,21 @@ +```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(); +``` + ```rust Rust let embedders = HashMap::from([( String::from("movies-text"), diff --git a/snippets/samples/code_samples_related_results_search_1.mdx b/snippets/samples/code_samples_related_results_search_1.mdx index 44b88c4d0..69682d6be 100644 --- a/snippets/samples/code_samples_related_results_search_1.mdx +++ b/snippets/samples/code_samples_related_results_search_1.mdx @@ -1,5 +1,14 @@ +```rust Rust +let results = movies.search() + .with_query("batman") + .with_hybrid("EMBEDDER_NAME", 0.5) + .execute() + .await + .unwrap(); +``` + ```rust Rust let results = movies.search() .with_query("batman") diff --git a/snippets/samples/code_samples_related_results_similar_1.mdx b/snippets/samples/code_samples_related_results_similar_1.mdx index cc5b3be16..c390af1ec 100644 --- a/snippets/samples/code_samples_related_results_similar_1.mdx +++ b/snippets/samples/code_samples_related_results_similar_1.mdx @@ -1,5 +1,12 @@ +```rust Rust +let results = movies.similar_search("192", "EMBEDDER_NAME") + .execute() + .await + .unwrap(); +``` + ```rust Rust let results = movies.similar_search("192", "EMBEDDER_NAME") .execute() 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 94cc782bb..16bb811c5 100644 --- a/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx @@ -1,5 +1,15 @@ +```rust Rust +let results = index + .search() + .with_vector(&[0.0, 1.0, 2.0]) + .with_hybrid("EMBEDDER_NAME", 1.0) + .execute() + .await + .unwrap(); +``` + ```rust Rust let results = index .search() From 9fc49d636b1f6a9db42fd79de2e87df15688095e Mon Sep 17 00:00:00 2001 From: gui machiavelli Date: Thu, 31 Jul 2025 14:41:22 +0200 Subject: [PATCH 15/16] v1.16: Multimodal search (#3312) --------- Co-authored-by: Louis Dureuil --- .code-samples.meilisearch.yaml | 16 +++ .../experimental_features_overview.mdx | 4 +- reference/api/experimental_features.mdx | 10 +- reference/api/search.mdx | 44 +++++++ reference/api/settings.mdx | 116 +++++++++++++++++- reference/errors/error_codes.mdx | 8 ++ 6 files changed, 193 insertions(+), 5 deletions(-) diff --git a/.code-samples.meilisearch.yaml b/.code-samples.meilisearch.yaml index eb28cfa3b..c117f564c 100644 --- a/.code-samples.meilisearch.yaml +++ b/.code-samples.meilisearch.yaml @@ -1545,3 +1545,19 @@ update_network_1: |- } } }' +search_parameter_reference_media_1: |- + curl \ + -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "hybrid": { + "embedder": "EMBEDDER_NAME" + }, + "media": { + "FIELD_A": "VALUE_A", + "FIELD_B" : { + "FIELD_C": "VALUE_B" + "FIELD_D": "VALUE_C" + } + } + }' diff --git a/learn/resources/experimental_features_overview.mdx b/learn/resources/experimental_features_overview.mdx index 90a16a8b1..1ec5ebc81 100644 --- a/learn/resources/experimental_features_overview.mdx +++ b/learn/resources/experimental_features_overview.mdx @@ -59,4 +59,6 @@ Activating or deactivating experimental features this way does not require you t | [Search query embedding cache](/learn/self_hosted/configure_meilisearch_at_launch#search-query-embedding-cache) | Enable a cache for search query embeddings | CLI flag or environment variable | | [Uncompressed snapshots](/learn/self_hosted/configure_meilisearch_at_launch#uncompressed-snapshots) | Disable snapshot compaction | CLI flag or environment variable | | [Maximum batch payload size](/learn/self_hosted/configure_meilisearch_at_launch#maximum-batch-payload-size) | Limit batch payload size | CLI flag or environment variable | -| [Disable new indexer](/learn/self_hosted/configure_meilisearch_at_launch) | Use previous settings indexer | CLI flag or environment variable | +| [Multimodal search](/reference/api/settings) | Enable multimodal search | API route | +| [Disable new indexer](/learn/self_hosted/configure_meilisearch_at_launch) | Use previous settings indexer | CLI flag or environment variable | + diff --git a/reference/api/experimental_features.mdx b/reference/api/experimental_features.mdx index 3393ceed9..b03cd95b6 100644 --- a/reference/api/experimental_features.mdx +++ b/reference/api/experimental_features.mdx @@ -26,7 +26,8 @@ The experimental API route is not compatible with all experimental features. Con "containsFilter": false, "editDocumentsByFunction": false, "network": false, - "chatCompletions": false + "chatCompletions": false, + "multimodal": false } ``` @@ -38,6 +39,7 @@ The experimental API route is not compatible with all experimental features. Con | **`editDocumentsByFunction`** | Boolean | `true` if feature is active, `false` otherwise | | **`network`** | Boolean | `true` if feature is active, `false` otherwise | | **`chatCompletions`** | Boolean | `true` if feature is active, `false` otherwise | +| **`multimodal`** | Boolean | `true` if feature is active, `false` otherwise | ## Get all experimental features @@ -58,7 +60,8 @@ Get a list of all experimental features that can be activated via the `/experime "containsFilter": false, "editDocumentsByFunction": false, "network": false, - "chatCompletions": false + "chatCompletions": false, + "multimodal": false } ``` @@ -87,6 +90,7 @@ Setting a field to `null` leaves its value unchanged. "containsFilter": false, "editDocumentsByFunction": false, "network": false, - "chatCompletions": false + "chatCompletions": false, + "multimodal": false } ``` diff --git a/reference/api/search.mdx b/reference/api/search.mdx index f8eadca88..cea475198 100644 --- a/reference/api/search.mdx +++ b/reference/api/search.mdx @@ -97,6 +97,7 @@ By default, [this endpoint returns a maximum of 1000 results](/learn/resources/k | **[`vector`](#vector)** | Array of numbers | `null` | Search using a custom query vector | | **[`retrieveVectors`](#display-_vectors-in-response)** | Boolean | `false` | Return document vector data | | **[`locales`](#query-locales)** | Array of strings | `null` | Explicitly specify languages used in a query | +| **[`media`](#media)** | Object | `null` | Perform AI-powered search queries with multimodal content | ### Response @@ -1285,3 +1286,46 @@ For full control over the way Meilisearch detects languages during indexing and … } ``` + +### Media + +**Parameter**: `media`
+**Expected value**: Object
+**Default value**: `null` + + +This is an experimental feature. Use the Meilisearch Cloud UI or the experimental features endpoint to activate it: + +```sh +curl \ + -X PATCH 'MEILISEARCH_URL/experimental-features/' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "multimodal": true + }' +``` + + +Specifies data to populate search fragments when performing multimodal searches. + +`media` must be an object whose fields must correspond to the data required by one [search fragment](/reference/api/settings#searchfragments). `media` must match a single search fragment. If `media` matches more than one fragment or no search fragments at all, Meilisearch will return an error. + +It is mandatory to specify an embedder when using `media`. `media` is incompatible with `vector`. + +#### Example + + + +```json +{ + "hits": [ + { + "id": 0, + "title": "DOCUMENT NAME", + … + } + … + ], + … +} +``` diff --git a/reference/api/settings.mdx b/reference/api/settings.mdx index 997bd5fed..3737fd50d 100644 --- a/reference/api/settings.mdx +++ b/reference/api/settings.mdx @@ -2512,7 +2512,9 @@ These embedder objects may contain the following fields: | **`binaryQuantized`** | Boolean | Empty | Once set to `true`, irreversibly converts all vector dimensions to 1-bit values | | **`indexingEmbedder`** | Object | Empty | Configures embedder to vectorize documents during indexing | | **`searchEmbedder`** | Object | Empty | Configures embedder to vectorize search queries | -| **`pooling`** | String | `"useModel"` | Pooling method for Hugging Face embedders | +| **`pooling`** | String | `"useModel"` | Pooling method for Hugging Face embedders | +| **`indexingFragments`** | Object | Empty | Configures multimodal embedding generation at indexing time | +| **`searchFragments`** | Object | Empty | Configures data handling during multimodal search | ### Get embedder settings @@ -2875,6 +2877,118 @@ Both fields must be an object and accept the same fields as a regular embedder, `indexingEmbedder` and `searchEmbedder` are incompatible with all other embedder sources. +##### `indexingFragments` + + +This is an experimental feature. Use the Meilisearch Cloud UI or the experimental features endpoint to activate it: + +```sh +curl \ + -X PATCH 'MEILISEARCH_URL/experimental-features/' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "multimodal": true + }' +``` + + +`indexingFragments` specifies which fields in your documents should be used to generate multimodal embeddings. It must be an object with the following structure: + +```json + "FRAGMENT_NAME": { + "value": { + … + } + } +``` + +`FRAGMENT_NAME` can be any valid string. It must contain a single field, `value`. `value` must then follow your chosen model's specifications. + +For example, for [VoyageAI's multimodal embedding route](https://docs.voyageai.com/reference/multimodal-embeddings-api), `value` must be an object containing a `content` field. `content` itself must contain an array of objects with a `type` field. Depending on `type`'s value, you must include either `text`, `image_url`, or `image_base64`: + +```json +{ + "VOYAGE_FRAGMENT_NAME_A": { + "value": { + "content": [ + { + "type": "text", + "text": "A document called {{doc.title}} that can be described as {{doc.description}}" + } + ] + } + }, + "VOYAGE_FRAGMENT_NAME_B": { + "value": { + "content": [ + { + "type": "image_url", + "image_url": "{{doc.image_url}}" + } + ] + } + }, +} +``` + +Use Liquid templates to interpolate document data into the fragment fields, where `doc` gives you access to all fields within a document. + +`indexingFragments` is optional when using the `rest` source. + +`indexingFragments` is incompatible with all other embedder sources. + +Specifying a `documentTemplate` in an embedder using `indexingFragments` will result in an error. + +You must specify at least one valid fragment in `searchFragments` when using `indexingFragments`. + +##### `searchFragments` + + +This is an experimental feature. Use the Meilisearch Cloud UI or the experimental features endpoint to activate it: + +```sh +curl \ + -X PATCH 'MEILISEARCH_URL/experimental-features/' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "multimodal": true + }' +``` + + +`searchFragments` instructs Meilisearch how to parse fields present in a query's [`media` search parameter](/reference/api/search#media). It must be an object following the same structure as the [`indexingFragments`](/reference/api/settings#indexingfragments) object: + +```json + "FRAGMENT_NAME": { + "value": { + … + } + } +``` + +As with `indexingFragments`, the content of `value` should follow your model's specification. + +Use Liquid templates to interpolate search query data into the fragment fields, where `media` gives you access to all multimodal data received with a query: + +```json +"SEARCH_FRAGMENT_A": { + "value": { + "content": [ + { + "type": "image_base64", + "image_base64": "data:{{media.image.mime}};base64,{{media.image.data}}" + } + ] + } +}, +``` + +`searchFragments` is optional when using the `rest` source. + +`searchFragments` is incompatible with all other embedder sources. + +You must specify at least one valid fragment in `indexingFragments` when using `searchFragments`. + #### Example diff --git a/reference/errors/error_codes.mdx b/reference/errors/error_codes.mdx index 4de201aa9..48c5448d5 100644 --- a/reference/errors/error_codes.mdx +++ b/reference/errors/error_codes.mdx @@ -146,6 +146,14 @@ The given [`uid`](/reference/api/keys#uid) is invalid. The `uid` must follow the The value passed to [`attributesToSearchOn`](/reference/api/search#customize-attributes-to-search-on-at-search-time) is invalid. `attributesToSearchOn` accepts an array of strings indicating document attributes. Attributes given to `attributesToSearchOn` must be present in the [`searchableAttributes` list](/learn/relevancy/displayed_searchable_attributes#the-searchableattributes-list). +## `invalid_search_media` + +The value passed to [`media`](/reference/api/search#media) is not a valid JSON object. + +## `invalid_search_media_and_vector` + +The search query contains non-`null` values for both [`media`](/reference/api/search#media) and [`vector`](/reference/api/search#media). These two parameters are mutually exclusive, since `media` generates vector embeddings via the embedder configured in `hybrid`. + ## `invalid_content_type` The [Content-Type header](/reference/api/overview#content-type) is not supported by Meilisearch. Currently, Meilisearch only supports JSON, CSV, and NDJSON. From 8e6961c9598989773a5c8be3e04f4c5a8719171d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 31 Jul 2025 12:41:40 +0000 Subject: [PATCH 16/16] Update code samples [skip ci] --- .../code_samples_add_movies_json_1.mdx | 7 +++ ...ode_samples_add_or_replace_documents_1.mdx | 15 +++++ ...code_samples_add_or_update_documents_1.mdx | 13 ++++ ...mples_async_guide_filter_by_statuses_1.mdx | 5 ++ ...mples_async_guide_filter_by_statuses_2.mdx | 10 +--- ...samples_async_guide_multiple_filters_1.mdx | 5 ++ .../code_samples_authorization_header_1.mdx | 7 +++ ...amples_basic_security_tutorial_admin_1.mdx | 15 +++-- ...ples_basic_security_tutorial_listing_1.mdx | 9 +-- ...mples_basic_security_tutorial_search_1.mdx | 15 ++--- .../samples/code_samples_cancel_tasks_1.mdx | 5 ++ .../samples/code_samples_create_a_key_1.mdx | 13 ++++ .../code_samples_create_an_index_1.mdx | 10 ++++ .../code_samples_create_snapshot_1.mdx | 5 ++ .../code_samples_date_guide_filter_1.mdx | 10 ++++ ...les_date_guide_filterable_attributes_1.mdx | 9 +++ .../code_samples_date_guide_index_1.mdx | 7 +++ .../code_samples_date_guide_sort_1.mdx | 10 ++++ ...mples_date_guide_sortable_attributes_1.mdx | 9 +++ .../samples/code_samples_delete_a_key_1.mdx | 6 ++ .../code_samples_delete_all_documents_1.mdx | 5 ++ .../code_samples_delete_an_index_1.mdx | 5 ++ ...de_samples_delete_documents_by_batch_1.mdx | 12 ++++ ...e_samples_delete_documents_by_filter_1.mdx | 9 +++ .../code_samples_delete_one_document_1.mdx | 5 ++ .../samples/code_samples_delete_tasks_1.mdx | 5 ++ ...ode_samples_distinct_attribute_guide_1.mdx | 7 +++ ...t_attribute_guide_distinct_parameter_1.mdx | 10 ++++ ..._distinct_attribute_guide_filterable_1.mdx | 11 ++++ .../samples/code_samples_facet_search_1.mdx | 11 ++++ .../samples/code_samples_facet_search_2.mdx | 11 ++++ .../samples/code_samples_facet_search_3.mdx | 10 ++++ .../samples/code_samples_faceted_search_1.mdx | 12 ++++ ...mples_faceted_search_update_settings_1.mdx | 9 +++ ...es_faceted_search_walkthrough_filter_1.mdx | 16 +++++ ...les_field_properties_guide_displayed_1.mdx | 12 ++++ ...es_field_properties_guide_searchable_1.mdx | 11 ++++ .../code_samples_filtering_guide_1.mdx | 10 ++++ .../code_samples_filtering_guide_2.mdx | 10 ++++ .../code_samples_filtering_guide_3.mdx | 10 ++++ .../code_samples_filtering_guide_nested_1.mdx | 10 ++++ ...de_samples_filtering_update_settings_1.mdx | 12 ++++ ...ples_geosearch_guide_filter_settings_1.mdx | 7 +++ ...samples_geosearch_guide_filter_usage_1.mdx | 7 +++ ...samples_geosearch_guide_filter_usage_2.mdx | 7 +++ ...samples_geosearch_guide_filter_usage_3.mdx | 7 +++ ...amples_geosearch_guide_sort_settings_1.mdx | 7 +++ ...e_samples_geosearch_guide_sort_usage_1.mdx | 7 +++ ...e_samples_geosearch_guide_sort_usage_2.mdx | 12 ++++ .../code_samples_get_all_batches_1.mdx | 5 ++ .../samples/code_samples_get_all_keys_1.mdx | 6 ++ .../samples/code_samples_get_all_tasks_1.mdx | 5 ++ ...ode_samples_get_all_tasks_paginating_1.mdx | 5 ++ ...ode_samples_get_all_tasks_paginating_2.mdx | 5 ++ snippets/samples/code_samples_get_batch_1.mdx | 5 ++ .../samples/code_samples_get_dictionary_1.mdx | 5 ++ ...ode_samples_get_displayed_attributes_1.mdx | 5 ++ .../code_samples_get_distinct_attribute_1.mdx | 5 ++ .../samples/code_samples_get_documents_1.mdx | 5 ++ .../code_samples_get_documents_post_1.mdx | 11 ++++ .../samples/code_samples_get_embedders_1.mdx | 5 ++ ...de_samples_get_experimental_features_1.mdx | 5 ++ ...de_samples_get_facet_search_settings_1.mdx | 5 ++ .../code_samples_get_faceting_settings_1.mdx | 5 ++ ...de_samples_get_filterable_attributes_1.mdx | 5 ++ .../samples/code_samples_get_health_1.mdx | 5 ++ .../code_samples_get_index_stats_1.mdx | 5 ++ .../code_samples_get_indexes_stats_1.mdx | 5 ++ ...les_get_localized_attribute_settings_1.mdx | 5 ++ ...ode_samples_get_non_separator_tokens_1.mdx | 5 ++ .../code_samples_get_one_document_1.mdx | 5 ++ .../samples/code_samples_get_one_index_1.mdx | 5 ++ .../samples/code_samples_get_one_key_1.mdx | 6 ++ ...code_samples_get_pagination_settings_1.mdx | 5 ++ ...e_samples_get_prefix_search_settings_1.mdx | 5 ++ ...les_get_proximity_precision_settings_1.mdx | 5 ++ .../code_samples_get_ranking_rules_1.mdx | 5 ++ .../code_samples_get_search_cutoff_1.mdx | 5 ++ ...de_samples_get_searchable_attributes_1.mdx | 5 ++ .../code_samples_get_separator_tokens_1.mdx | 5 ++ .../samples/code_samples_get_settings_1.mdx | 5 ++ .../code_samples_get_similar_post_1.mdx | 11 ++++ ...code_samples_get_sortable_attributes_1.mdx | 5 ++ .../samples/code_samples_get_stop_words_1.mdx | 5 ++ .../samples/code_samples_get_synonyms_1.mdx | 5 ++ snippets/samples/code_samples_get_task_1.mdx | 5 ++ .../code_samples_get_typo_tolerance_1.mdx | 5 ++ .../samples/code_samples_get_version_1.mdx | 5 ++ ..._samples_getting_started_add_documents.mdx | 8 +++ ...samples_getting_started_add_meteorites.mdx | 7 +++ ...ples_getting_started_check_task_status.mdx | 6 ++ ...les_getting_started_configure_settings.mdx | 16 +++++ .../code_samples_getting_started_faceting.mdx | 12 ++++ ...code_samples_getting_started_filtering.mdx | 7 +++ ...code_samples_getting_started_geo_point.mdx | 7 +++ ...ode_samples_getting_started_geo_radius.mdx | 7 +++ ...ode_samples_getting_started_pagination.mdx | 9 +++ .../code_samples_getting_started_search.mdx | 8 +++ .../code_samples_getting_started_sorting.mdx | 10 ++++ .../code_samples_getting_started_synonyms.mdx | 10 ++++ ...samples_getting_started_typo_tolerance.mdx | 9 +++ ...ng_started_update_displayed_attributes.mdx | 11 ++++ ...s_getting_started_update_ranking_rules.mdx | 16 +++++ ...g_started_update_searchable_attributes.mdx | 7 +++ ...ples_getting_started_update_stop_words.mdx | 7 +++ ...ex_settings_tutorial_api_get_setting_1.mdx | 8 +-- ...ex_settings_tutorial_api_put_setting_1.mdx | 13 ++-- ...les_index_settings_tutorial_api_task_1.mdx | 5 +- .../code_samples_list_all_indexes_1.mdx | 5 ++ .../samples/code_samples_multi_search_1.mdx | 24 ++++++++ .../code_samples_multi_search_federated_1.mdx | 19 ++++++ .../code_samples_negative_search_1.mdx | 7 +++ .../code_samples_negative_search_2.mdx | 7 +++ .../samples/code_samples_phrase_search_1.mdx | 7 +++ snippets/samples/code_samples_post_dump_1.mdx | 5 ++ ...y_field_guide_add_document_primary_key.mdx | 18 ++++++ ...y_field_guide_create_index_primary_key.mdx | 10 ++++ ...ield_guide_update_document_primary_key.mdx | 7 +++ ...ode_samples_related_results_embedder_1.mdx | 28 ++++----- .../code_samples_related_results_search_1.mdx | 17 +++--- ...code_samples_related_results_similar_1.mdx | 14 +++-- .../code_samples_reset_dictionary_1.mdx | 5 ++ ...e_samples_reset_displayed_attributes_1.mdx | 5 ++ ...ode_samples_reset_distinct_attribute_1.mdx | 5 ++ .../code_samples_reset_embedders_1.mdx | 5 ++ ..._samples_reset_facet_search_settings_1.mdx | 5 ++ ...code_samples_reset_faceting_settings_1.mdx | 5 ++ ..._samples_reset_filterable_attributes_1.mdx | 5 ++ ...s_reset_localized_attribute_settings_1.mdx | 5 ++ ...e_samples_reset_non_separator_tokens_1.mdx | 5 ++ ...de_samples_reset_pagination_settings_1.mdx | 5 ++ ...samples_reset_prefix_search_settings_1.mdx | 5 ++ ...s_reset_proximity_precision_settings_1.mdx | 5 ++ .../code_samples_reset_ranking_rules_1.mdx | 5 ++ .../code_samples_reset_search_cutoff_1.mdx | 5 ++ ..._samples_reset_searchable_attributes_1.mdx | 5 ++ .../code_samples_reset_separator_tokens_1.mdx | 5 ++ .../samples/code_samples_reset_settings_1.mdx | 5 ++ ...de_samples_reset_sortable_attributes_1.mdx | 5 ++ .../code_samples_reset_stop_words_1.mdx | 5 ++ .../samples/code_samples_reset_synonyms_1.mdx | 5 ++ .../code_samples_reset_typo_tolerance_1.mdx | 5 ++ .../samples/code_samples_search_get_1.mdx | 5 ++ ...ameter_guide_attributes_to_search_on_1.mdx | 10 ++++ ..._samples_search_parameter_guide_crop_1.mdx | 11 ++++ ...s_search_parameter_guide_crop_marker_1.mdx | 11 ++++ ...s_search_parameter_guide_facet_stats_1.mdx | 10 ++++ ...les_search_parameter_guide_highlight_1.mdx | 10 ++++ ...search_parameter_guide_highlight_tag_1.mdx | 12 ++++ ...s_search_parameter_guide_hitsperpage_1.mdx | 10 ++++ ...amples_search_parameter_guide_hybrid_1.mdx | 12 ++++ ...samples_search_parameter_guide_limit_1.mdx | 10 ++++ ...ch_parameter_guide_matching_strategy_1.mdx | 10 ++++ ...ch_parameter_guide_matching_strategy_2.mdx | 10 ++++ ...ch_parameter_guide_matching_strategy_3.mdx | 10 ++++ ...amples_search_parameter_guide_offset_1.mdx | 10 ++++ ..._samples_search_parameter_guide_page_1.mdx | 10 ++++ ...samples_search_parameter_guide_query_1.mdx | 7 +++ ...ples_search_parameter_guide_retrieve_1.mdx | 13 ++++ ...arameter_guide_show_matches_position_1.mdx | 10 ++++ ...h_parameter_guide_show_ranking_score_1.mdx | 10 ++++ ...ter_guide_show_ranking_score_details_1.mdx | 10 ++++ ..._samples_search_parameter_guide_sort_1.mdx | 10 ++++ ...amples_search_parameter_guide_vector_1.mdx | 17 +++--- ..._search_parameter_reference_distinct_1.mdx | 10 ++++ ...s_search_parameter_reference_locales_1.mdx | 10 ++++ ...er_reference_ranking_score_threshold_1.mdx | 10 ++++ ...parameter_reference_retrieve_vectors_1.mdx | 12 ++++ .../samples/code_samples_search_post_1.mdx | 7 +++ ...de_samples_security_guide_create_key_1.mdx | 13 ++++ ...de_samples_security_guide_delete_key_1.mdx | 6 ++ ...ode_samples_security_guide_list_keys_1.mdx | 6 ++ ...de_samples_security_guide_search_key_1.mdx | 6 ++ ...de_samples_security_guide_update_key_1.mdx | 8 +++ ...de_samples_sorting_guide_sort_nested_1.mdx | 10 ++++ ...samples_sorting_guide_sort_parameter_1.mdx | 10 ++++ ...samples_sorting_guide_sort_parameter_2.mdx | 10 ++++ ...s_sorting_guide_update_ranking_rules_1.mdx | 14 +++++ ...ing_guide_update_sortable_attributes_1.mdx | 10 ++++ .../samples/code_samples_swap_indexes_1.mdx | 20 +++++++ .../samples/code_samples_synonyms_guide_1.mdx | 9 +++ .../code_samples_typo_tolerance_guide_1.mdx | 7 +++ .../code_samples_typo_tolerance_guide_2.mdx | 7 +++ .../code_samples_typo_tolerance_guide_3.mdx | 11 ++++ .../code_samples_typo_tolerance_guide_4.mdx | 12 ++++ .../code_samples_typo_tolerance_guide_5.mdx | 9 +++ .../samples/code_samples_update_a_key_1.mdx | 11 ++++ .../code_samples_update_an_index_1.mdx | 7 +++ .../code_samples_update_dictionary_1.mdx | 10 ++++ ..._samples_update_displayed_attributes_1.mdx | 12 ++++ ...de_samples_update_distinct_attribute_1.mdx | 7 +++ .../code_samples_update_embedders_1.mdx | 14 +++++ ...samples_update_experimental_features_1.mdx | 9 +++ ...samples_update_facet_search_settings_1.mdx | 7 +++ ...ode_samples_update_faceting_settings_1.mdx | 13 ++++ ...samples_update_filterable_attributes_1.mdx | 20 +++++++ ..._update_localized_attribute_settings_1.mdx | 9 +++ ..._samples_update_non_separator_tokens_1.mdx | 7 +++ ...e_samples_update_pagination_settings_1.mdx | 9 +++ ...amples_update_prefix_search_settings_1.mdx | 7 +++ ..._update_proximity_precision_settings_1.mdx | 7 +++ .../code_samples_update_ranking_rules_1.mdx | 16 +++++ .../code_samples_update_search_cutoff_1.mdx | 7 +++ ...samples_update_searchable_attributes_1.mdx | 11 ++++ ...code_samples_update_separator_tokens_1.mdx | 7 +++ .../code_samples_update_settings_1.mdx | 60 +++++++++++++++++++ ...e_samples_update_sortable_attributes_1.mdx | 10 ++++ .../code_samples_update_stop_words_1.mdx | 11 ++++ .../code_samples_update_synonyms_1.mdx | 17 ++++++ .../code_samples_update_typo_tolerance_1.mdx | 13 ++++ 210 files changed, 1789 insertions(+), 74 deletions(-) diff --git a/snippets/samples/code_samples_add_movies_json_1.mdx b/snippets/samples/code_samples_add_movies_json_1.mdx index 7359e67d1..068206c70 100644 --- a/snippets/samples/code_samples_add_movies_json_1.mdx +++ b/snippets/samples/code_samples_add_movies_json_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/documents'\ + -H 'Content-Type: application/json' \ + --data-binary @movies.json +``` + ```javascript JS const movies = require('./movies.json') client.index('movies').addDocuments(movies).then((res) => console.log(res)) diff --git a/snippets/samples/code_samples_add_or_replace_documents_1.mdx b/snippets/samples/code_samples_add_or_replace_documents_1.mdx index 342009ebd..7d9fb5a7f 100644 --- a/snippets/samples/code_samples_add_or_replace_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_replace_documents_1.mdx @@ -1,5 +1,20 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/documents' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + { + "id": 287947, + "title": "Shazam", + "poster": "https://image.tmdb.org/t/p/w1280/xnopI5Xtky18MPhK40cZAGAOVeV.jpg", + "overview": "A boy is given the ability to become an adult superhero in times of need with a single magic word.", + "release_date": "2019-03-23" + } + ]' +``` + ```javascript JS client.index('movies').addDocuments([{ id: 287947, diff --git a/snippets/samples/code_samples_add_or_update_documents_1.mdx b/snippets/samples/code_samples_add_or_update_documents_1.mdx index 5f35a1e1c..53a1dd526 100644 --- a/snippets/samples/code_samples_add_or_update_documents_1.mdx +++ b/snippets/samples/code_samples_add_or_update_documents_1.mdx @@ -1,5 +1,18 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/documents' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + { + "id": 287947, + "title": "Shazam ⚡️", + "genres": "comedy" + } + ]' +``` + ```javascript JS client.index('movies').updateDocuments([{ id: 287947, 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 91dc13b0d..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 @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks?statuses=failed' +``` + ```javascript JS client.tasks.getTasks({ statuses: ['failed', 'canceled'] }) ``` 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 baeb40263..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 @@ -1,12 +1,8 @@ -```rust Rust -let mut query = TasksQuery::new(&client); -let tasks = query - .with_statuses(["failed", "canceled"]) - .execute() - .await - .unwrap(); +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks?statuses=failed,canceled' ``` ```rust Rust diff --git a/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx b/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx index 234a2977c..8e8a326a6 100644 --- a/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx +++ b/snippets/samples/code_samples_async_guide_multiple_filters_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks?indexUids=movies&types=documentAdditionOrUpdate,documentDeletion&statuses=processing' +``` + ```javascript JS client.tasks.getTasks({ indexUids: ['movies'], diff --git a/snippets/samples/code_samples_authorization_header_1.mdx b/snippets/samples/code_samples_authorization_header_1.mdx index f0fc52edb..97607e267 100644 --- a/snippets/samples/code_samples_authorization_header_1.mdx +++ b/snippets/samples/code_samples_authorization_header_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +# replace the MASTER_KEY placeholder with your master key +curl \ + -X GET 'MEILISEARCH_URL/keys' \ + -H 'Authorization: Bearer MASTER_KEY' +``` + ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.getKeys() 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 ceff49e5c..e0c803c2b 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_admin_1.mdx @@ -1,11 +1,14 @@ -```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(); +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: Bearer DEFAULT_ADMIN_API_KEY' \ + --data-binary '{ + "uid": "medical_records", + "primaryKey": "id" + }' ``` ```rust Rust 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 8204f7df2..a9d2c5be0 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_listing_1.mdx @@ -1,11 +1,8 @@ -```rust Rust -let client = Client::new("http://localhost:7700", Some("MASTER_KEY")); -client - .get_keys() - .await - .unwrap(); +```bash cURL +curl -X GET 'MEILISEARCH_URL/keys' \ +-H 'Authorization: Bearer MASTER_KEY' ``` ```rust Rust 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 ae56ffeb3..edbef1caf 100644 --- a/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx +++ b/snippets/samples/code_samples_basic_security_tutorial_search_1.mdx @@ -1,14 +1,11 @@ -```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(); +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/medical_records/search' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ + --data-binary '{ "q": "appointments" }' ``` ```rust Rust diff --git a/snippets/samples/code_samples_cancel_tasks_1.mdx b/snippets/samples/code_samples_cancel_tasks_1.mdx index 3aa9398ea..f5ca8a4d5 100644 --- a/snippets/samples/code_samples_cancel_tasks_1.mdx +++ b/snippets/samples/code_samples_cancel_tasks_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/tasks/cancel?uids=1,2' +``` + ```javascript JS client.tasks.cancelTasks({ uids: [1, 2] }) ``` diff --git a/snippets/samples/code_samples_create_a_key_1.mdx b/snippets/samples/code_samples_create_a_key_1.mdx index 5e5e38899..e13de977d 100644 --- a/snippets/samples/code_samples_create_a_key_1.mdx +++ b/snippets/samples/code_samples_create_a_key_1.mdx @@ -1,5 +1,18 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/keys' \ + -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "description": "Add documents: Products API key", + "actions": ["documents.add"], + "indexes": ["products"], + "expiresAt": "2042-04-02T00:42:42Z" + }' +``` + ```javascript JS client.createKey({ description: 'Add documents: Products API key', diff --git a/snippets/samples/code_samples_create_an_index_1.mdx b/snippets/samples/code_samples_create_an_index_1.mdx index 762e51edb..e43cf34bf 100644 --- a/snippets/samples/code_samples_create_an_index_1.mdx +++ b/snippets/samples/code_samples_create_an_index_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "uid": "movies", + "primaryKey": "id" + }' +``` + ```javascript JS client.createIndex('movies', { primaryKey: 'id' }) ``` diff --git a/snippets/samples/code_samples_create_snapshot_1.mdx b/snippets/samples/code_samples_create_snapshot_1.mdx index 6689ce406..08d37debe 100644 --- a/snippets/samples/code_samples_create_snapshot_1.mdx +++ b/snippets/samples/code_samples_create_snapshot_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/snapshots' +``` + ```javascript JS client.createSnapshot() ``` diff --git a/snippets/samples/code_samples_date_guide_filter_1.mdx b/snippets/samples/code_samples_date_guide_filter_1.mdx index 834342c0b..58c9bbf24 100644 --- a/snippets/samples/code_samples_date_guide_filter_1.mdx +++ b/snippets/samples/code_samples_date_guide_filter_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/games/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "", + "filter": "release_timestamp >= 1514761200 AND release_timestamp < 1672527600" + }' +``` + ```javascript JS client.index('games').search('', { filter: 'release_timestamp >= 1514761200 AND release_timestamp < 1672527600' diff --git a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx index f39615ed0..98595a358 100644 --- a/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_date_guide_filterable_attributes_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/games/settings/filterable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "release_timestamp" + ]' +``` + ```javascript JS client.index('games').updateFilterableAttributes(['release_timestamp']) ``` diff --git a/snippets/samples/code_samples_date_guide_index_1.mdx b/snippets/samples/code_samples_date_guide_index_1.mdx index b6ef1310d..4f89b156e 100644 --- a/snippets/samples/code_samples_date_guide_index_1.mdx +++ b/snippets/samples/code_samples_date_guide_index_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -x POST 'MEILISEARCH_URL/indexes/games/documents' \ + -h 'content-type: application/json' \ + --data-binary @games.json +``` + ```javascript JS const games = require('./games.json') client.index('games').addDocuments(games).then((res) => console.log(res)) diff --git a/snippets/samples/code_samples_date_guide_sort_1.mdx b/snippets/samples/code_samples_date_guide_sort_1.mdx index af654fae7..61a10eafb 100644 --- a/snippets/samples/code_samples_date_guide_sort_1.mdx +++ b/snippets/samples/code_samples_date_guide_sort_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/games/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "", + "sort": ["release_timestamp:desc"] + }' +``` + ```javascript JS client.index('games').search('', { sort: ['release_timestamp:desc'], diff --git a/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx b/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx index 7d3d59b22..47abc03f6 100644 --- a/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_date_guide_sortable_attributes_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/games/settings/sortable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "release_timestamp" + ]' +``` + ```javascript JS client.index('games').updateSortableAttributes(['release_timestamp']) ``` diff --git a/snippets/samples/code_samples_delete_a_key_1.mdx b/snippets/samples/code_samples_delete_a_key_1.mdx index eaef509aa..7b55b9a4c 100644 --- a/snippets/samples/code_samples_delete_a_key_1.mdx +++ b/snippets/samples/code_samples_delete_a_key_1.mdx @@ -1,5 +1,11 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/keys/6062abda-a5aa-4414-ac91-ecd7944c0f8d' \ + -H 'Authorization: Bearer MASTER_KEY' +``` + ```javascript JS client.deleteKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d') ``` diff --git a/snippets/samples/code_samples_delete_all_documents_1.mdx b/snippets/samples/code_samples_delete_all_documents_1.mdx index 4777877ca..10c1037d5 100644 --- a/snippets/samples/code_samples_delete_all_documents_1.mdx +++ b/snippets/samples/code_samples_delete_all_documents_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/documents' +``` + ```javascript JS client.index('movies').deleteAllDocuments() ``` diff --git a/snippets/samples/code_samples_delete_an_index_1.mdx b/snippets/samples/code_samples_delete_an_index_1.mdx index e6366863a..b6f7f0408 100644 --- a/snippets/samples/code_samples_delete_an_index_1.mdx +++ b/snippets/samples/code_samples_delete_an_index_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies' +``` + ```javascript JS client.deleteIndex('movies') ``` diff --git a/snippets/samples/code_samples_delete_documents_by_batch_1.mdx b/snippets/samples/code_samples_delete_documents_by_batch_1.mdx index 414377ae1..9ebd463c7 100644 --- a/snippets/samples/code_samples_delete_documents_by_batch_1.mdx +++ b/snippets/samples/code_samples_delete_documents_by_batch_1.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/documents/delete-batch' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + 23488, + 153738, + 437035, + 363869 + ]' +``` + ```javascript JS client.index('movies').deleteDocuments([23488, 153738, 437035, 363869]) ``` diff --git a/snippets/samples/code_samples_delete_documents_by_filter_1.mdx b/snippets/samples/code_samples_delete_documents_by_filter_1.mdx index e89a77709..2e9ba4d76 100644 --- a/snippets/samples/code_samples_delete_documents_by_filter_1.mdx +++ b/snippets/samples/code_samples_delete_documents_by_filter_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X POST MEILISEARCH_URL/indexes/movies/documents/delete \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "filter": "genres = action OR genres = adventure" + }' +``` + ```javascript JS client.index('movies').deleteDocuments({ filter: 'genres = action OR genres = adventure' diff --git a/snippets/samples/code_samples_delete_one_document_1.mdx b/snippets/samples/code_samples_delete_one_document_1.mdx index 325e591d1..cb6050e3c 100644 --- a/snippets/samples/code_samples_delete_one_document_1.mdx +++ b/snippets/samples/code_samples_delete_one_document_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/documents/25684' +``` + ```javascript JS client.index('movies').deleteDocument(25684) ``` diff --git a/snippets/samples/code_samples_delete_tasks_1.mdx b/snippets/samples/code_samples_delete_tasks_1.mdx index b2010f079..6a31c17d4 100644 --- a/snippets/samples/code_samples_delete_tasks_1.mdx +++ b/snippets/samples/code_samples_delete_tasks_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/tasks?uids=1,2' +``` + ```javascript JS client.tasks.deleteTasks({ uids: [1, 2] }) ``` diff --git a/snippets/samples/code_samples_distinct_attribute_guide_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_1.mdx index 1f9e63ee0..ee9c7c385 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/jackets/settings/distinct-attribute' \ + -H 'Content-Type: application/json' \ + --data-binary '"product_id"' +``` + ```javascript JS client.index('jackets').updateDistinctAttribute('product_id') ``` diff --git a/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx index 9bed4ff9a..83cceeb0d 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_distinct_parameter_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/products/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "white shirt", + "distinct": "sku" + }' +``` + ```javascript JS client.index('products').search('white shirt', { distinct: 'sku' }) ``` diff --git a/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx b/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx index 8078813d9..7412dfadb 100644 --- a/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx +++ b/snippets/samples/code_samples_distinct_attribute_guide_filterable_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/products/settings/filterable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "product_id", + "sku", + "url" + ]' +``` + ```javascript JS client.index('products').updateFilterableAttributes(['product_id', 'sku', 'url']) ``` diff --git a/snippets/samples/code_samples_facet_search_1.mdx b/snippets/samples/code_samples_facet_search_1.mdx index 5709b6f73..da8b4b9c9 100644 --- a/snippets/samples/code_samples_facet_search_1.mdx +++ b/snippets/samples/code_samples_facet_search_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/facet-search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "facetQuery": "fiction", + "facetName": "genres", + "filter": "rating > 3" + }' +``` + ```javascript JS client.index('books').searchForFacetValues({ facetQuery: 'fiction', diff --git a/snippets/samples/code_samples_facet_search_2.mdx b/snippets/samples/code_samples_facet_search_2.mdx index 9172bdc6e..6f56f8435 100644 --- a/snippets/samples/code_samples_facet_search_2.mdx +++ b/snippets/samples/code_samples_facet_search_2.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/books/settings/faceting' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "sortFacetValuesBy": { + "genres": "count" + } +}' +``` + ```javascript JS client.index('books').updateFaceting({ sortFacetValuesBy: { diff --git a/snippets/samples/code_samples_facet_search_3.mdx b/snippets/samples/code_samples_facet_search_3.mdx index 9f03edd91..70c2bcdc9 100644 --- a/snippets/samples/code_samples_facet_search_3.mdx +++ b/snippets/samples/code_samples_facet_search_3.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/facet-search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "facetQuery": "c", + "facetName": "genres" +}' +``` + ```javascript JS client.index('books').searchForFacetValues({ facetQuery: 'c', diff --git a/snippets/samples/code_samples_faceted_search_1.mdx b/snippets/samples/code_samples_faceted_search_1.mdx index 200135c92..ff42bd551 100644 --- a/snippets/samples/code_samples_faceted_search_1.mdx +++ b/snippets/samples/code_samples_faceted_search_1.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "classic", + "facets": [ + "genres", "rating", "language" + ] +}' +``` + ```javascript JS client.index('books').search('classic', { facets: ['genres', 'rating', 'language'] }) ``` diff --git a/snippets/samples/code_samples_faceted_search_update_settings_1.mdx b/snippets/samples/code_samples_faceted_search_update_settings_1.mdx index 28d5f924d..7b5255a44 100644 --- a/snippets/samples/code_samples_faceted_search_update_settings_1.mdx +++ b/snippets/samples/code_samples_faceted_search_update_settings_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/books/settings/filterable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "genres", "rating", "language" + ]' +``` + ```javascript JS client.index('movie_ratings').updateFilterableAttributes(['genres', 'rating', 'language']) ``` diff --git a/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx b/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx index 2d3b6ab05..0012d35ae 100644 --- a/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx +++ b/snippets/samples/code_samples_faceted_search_walkthrough_filter_1.mdx @@ -1,5 +1,21 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "thriller", + "filter": [ + [ + "genres = Horror", + "genres = Mystery" + ], + "director = \"Jordan Peele\"" + ] + }' +``` + ```javascript JS client.index('movies') .search('thriller', { diff --git a/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx b/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx index 9bd2a5488..0b8b059c5 100644 --- a/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx +++ b/snippets/samples/code_samples_field_properties_guide_displayed_1.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "title", + "overview", + "genres", + "release_date" + ]' +``` + ```javascript JS client.index('movies').updateDisplayedAttributes([ 'title', diff --git a/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx b/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx index f79315545..5e1ac6abb 100644 --- a/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx +++ b/snippets/samples/code_samples_field_properties_guide_searchable_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "title", + "overview", + "genres" + ]' +``` + ```javascript JS client.index('movies').updateSearchableAttributes([ 'title', diff --git a/snippets/samples/code_samples_filtering_guide_1.mdx b/snippets/samples/code_samples_filtering_guide_1.mdx index a29bda2b7..75f3950c8 100644 --- a/snippets/samples/code_samples_filtering_guide_1.mdx +++ b/snippets/samples/code_samples_filtering_guide_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "Avengers", + "filter": "release_date > 795484800" + }' +``` + ```javascript JS client.index('movie_ratings').search('Avengers', { filter: 'release_date > 795484800' diff --git a/snippets/samples/code_samples_filtering_guide_2.mdx b/snippets/samples/code_samples_filtering_guide_2.mdx index 6fee7a67d..ef625e1b5 100644 --- a/snippets/samples/code_samples_filtering_guide_2.mdx +++ b/snippets/samples/code_samples_filtering_guide_2.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "Batman", + "filter": "release_date > 795484800 AND (director = \"Tim Burton\" OR director = \"Christopher Nolan\")" + }' +``` + ```javascript JS client.index('movie_ratings').search('Batman', { filter: 'release_date > 795484800 AND (director = "Tim Burton" OR director = "Christopher Nolan")' diff --git a/snippets/samples/code_samples_filtering_guide_3.mdx b/snippets/samples/code_samples_filtering_guide_3.mdx index 098513380..2d393f006 100644 --- a/snippets/samples/code_samples_filtering_guide_3.mdx +++ b/snippets/samples/code_samples_filtering_guide_3.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "Planet of the Apes", + "filter": "release_date > 1577884550 AND (NOT director = \"Tim Burton\")" + }' \ +``` + ```javascript JS client.index('movie_ratings').search('Planet of the Apes', { filter: "release_date > 1577884550 AND (NOT director = \"Tim Burton\")" diff --git a/snippets/samples/code_samples_filtering_guide_nested_1.mdx b/snippets/samples/code_samples_filtering_guide_nested_1.mdx index 4a42f1fcb..32a14b09c 100644 --- a/snippets/samples/code_samples_filtering_guide_nested_1.mdx +++ b/snippets/samples/code_samples_filtering_guide_nested_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "thriller", + "filter": "rating.users >= 90" + }' +``` + ```javascript JS client.index('movie_ratings').search('thriller', { filter: 'rating.users >= 90' diff --git a/snippets/samples/code_samples_filtering_update_settings_1.mdx b/snippets/samples/code_samples_filtering_update_settings_1.mdx index 253782cff..9ecaed4cf 100644 --- a/snippets/samples/code_samples_filtering_update_settings_1.mdx +++ b/snippets/samples/code_samples_filtering_update_settings_1.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movie_ratings/settings/filterable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "genres", + "director", + "release_date", + "ratings" + ]' +``` + ```javascript JS client.index('movies') .updateFilterableAttributes([ diff --git a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx index 8fe31dd2c..32732e600 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_settings_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/restaurants/settings/filterable-attributes' \ + -H 'Content-type:application/json' \ + --data-binary '["_geo"]' +``` + ```javascript JS client.index('restaurants') .updateFilterableAttributes([ diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx index 63431bd69..92f7cc395 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ + -H 'Content-type:application/json' \ + --data-binary '{ "filter": "_geoRadius(45.472735, 9.184019, 2000)" }' +``` + ```javascript JS client.index('restaurants').search('', { filter: ['_geoRadius(45.472735, 9.184019, 2000)'], diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx index 781174813..25f17c7dd 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_2.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ + -H 'Content-type:application/json' \ + --data-binary '{ "filter": "_geoRadius(45.472735, 9.184019, 2000) AND type = pizza" }' +``` + ```javascript JS client.index('restaurants').search('', { filter: ['_geoRadius(45.472735, 9.184019, 2000) AND type = pizza'], diff --git a/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx b/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx index c709a1de0..5cfacc2f2 100644 --- a/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx +++ b/snippets/samples/code_samples_geosearch_guide_filter_usage_3.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ + -H 'Content-type:application/json' \ + --data-binary '{ "filter": "_geoBoundingBox([45.494181, 9.214024], [45.449484, 9.179175])" }' +``` + ```javascript JS client.index('restaurants').search('', { filter: ['_geoBoundingBox([45.494181, 9.214024], [45.449484, 9.179175])'], diff --git a/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx b/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx index 6d1959b31..7eea7715e 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_settings_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/restaurants/settings/sortable-attributes' \ + -H 'Content-type:application/json' \ + --data-binary '["_geo"]' +``` + ```javascript JS client.index('restaurants').updateSortableAttributes([ '_geo' diff --git a/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx b/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx index 3f09bf0aa..53830fd5a 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_usage_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ + -H 'Content-type:application/json' \ + --data-binary '{ "sort": ["_geoPoint(48.8561446,2.2978204):asc"] }' +``` + ```javascript JS client.index('restaurants').search('', { sort: ['_geoPoint(48.8561446, 2.2978204):asc'], diff --git a/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx b/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx index 6015f357d..ac772f180 100644 --- a/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx +++ b/snippets/samples/code_samples_geosearch_guide_sort_usage_2.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/restaurants/search' \ + -H 'Content-type:application/json' \ + --data-binary '{ + "sort": [ + "_geoPoint(48.8561446,2.2978204):asc", + "rating:desc" + ] + }' +``` + ```javascript JS client.index('restaurants').search('', { sort: ['_geoPoint(48.8561446, 2.2978204):asc', 'rating:desc'], diff --git a/snippets/samples/code_samples_get_all_batches_1.mdx b/snippets/samples/code_samples_get_all_batches_1.mdx index d741de0d8..403117765 100644 --- a/snippets/samples/code_samples_get_all_batches_1.mdx +++ b/snippets/samples/code_samples_get_all_batches_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'http://MEILISEARCH_URL/batches' +``` + ```javascript JS client.batches.getBatches(); ``` diff --git a/snippets/samples/code_samples_get_all_keys_1.mdx b/snippets/samples/code_samples_get_all_keys_1.mdx index bbb56cb51..ae678ac57 100644 --- a/snippets/samples/code_samples_get_all_keys_1.mdx +++ b/snippets/samples/code_samples_get_all_keys_1.mdx @@ -1,5 +1,11 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/keys?limit=3' \ + -H 'Authorization: Bearer MASTER_KEY' +``` + ```javascript JS client.getKeys({ limit: 3 }) ``` diff --git a/snippets/samples/code_samples_get_all_tasks_1.mdx b/snippets/samples/code_samples_get_all_tasks_1.mdx index 4d2ee2859..2cec5a0ce 100644 --- a/snippets/samples/code_samples_get_all_tasks_1.mdx +++ b/snippets/samples/code_samples_get_all_tasks_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks' +``` + ```javascript JS client.tasks.getTasks() ``` diff --git a/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx b/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx index 4d1895ff7..4b7389169 100644 --- a/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx +++ b/snippets/samples/code_samples_get_all_tasks_paginating_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks?limit=2&from=10 +``` + ```javascript JS client.tasks.getTasks({ limit: 2, from: 10 }) ``` diff --git a/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx b/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx index 3e4f01b68..30edc01b5 100644 --- a/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx +++ b/snippets/samples/code_samples_get_all_tasks_paginating_2.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks?limit=2&from=8 +``` + ```javascript JS client.tasks.getTasks({ limit: 2, from: 8 }) ``` diff --git a/snippets/samples/code_samples_get_batch_1.mdx b/snippets/samples/code_samples_get_batch_1.mdx index 48b7f6d27..a7bc333b1 100644 --- a/snippets/samples/code_samples_get_batch_1.mdx +++ b/snippets/samples/code_samples_get_batch_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'http://MEILISEARCH_URL/batches/BATCH_UID' +``` + ```javascript JS client.batches.getBatch(BATCH_UID); ``` diff --git a/snippets/samples/code_samples_get_dictionary_1.mdx b/snippets/samples/code_samples_get_dictionary_1.mdx index 77020ebd6..28775f950 100644 --- a/snippets/samples/code_samples_get_dictionary_1.mdx +++ b/snippets/samples/code_samples_get_dictionary_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/books/settings/dictionary' +``` + ```javascript JS client.index('books').getDictionary() ``` diff --git a/snippets/samples/code_samples_get_displayed_attributes_1.mdx b/snippets/samples/code_samples_get_displayed_attributes_1.mdx index 9c7f2ccc6..74062b067 100644 --- a/snippets/samples/code_samples_get_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_get_displayed_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' +``` + ```javascript JS client.index('movies').getDisplayedAttributes() ``` diff --git a/snippets/samples/code_samples_get_distinct_attribute_1.mdx b/snippets/samples/code_samples_get_distinct_attribute_1.mdx index 8be086811..638ab5e3b 100644 --- a/snippets/samples/code_samples_get_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_get_distinct_attribute_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/shoes/settings/distinct-attribute' +``` + ```javascript JS client.index('shoes').getDistinctAttribute() ``` diff --git a/snippets/samples/code_samples_get_documents_1.mdx b/snippets/samples/code_samples_get_documents_1.mdx index 7eab6ac69..f391ceffa 100644 --- a/snippets/samples/code_samples_get_documents_1.mdx +++ b/snippets/samples/code_samples_get_documents_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/documents?limit=2&filter=genres=action' +``` + ```javascript JS client.index('movies').getDocuments({ limit: 2, diff --git a/snippets/samples/code_samples_get_documents_post_1.mdx b/snippets/samples/code_samples_get_documents_post_1.mdx index 89d050f77..a507357f0 100644 --- a/snippets/samples/code_samples_get_documents_post_1.mdx +++ b/snippets/samples/code_samples_get_documents_post_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X POST MEILISEARCH_URL/indexes/books/documents/fetch \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "filter": "(rating > 3 AND (genres = Adventure OR genres = Fiction)) AND language = English", + "fields": ["title", "genres", "rating", "language"], + "limit": 3 + }' +``` + ```javascript JS client.index('books').getDocuments({ filter: '(rating > 3 AND (genres = Adventure OR genres = Fiction)) AND language = English', diff --git a/snippets/samples/code_samples_get_embedders_1.mdx b/snippets/samples/code_samples_get_embedders_1.mdx index d87e13dd7..96325ca5d 100644 --- a/snippets/samples/code_samples_get_embedders_1.mdx +++ b/snippets/samples/code_samples_get_embedders_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/embedders' +``` + ```ruby Ruby client.index('INDEX_NAME').embedders ``` diff --git a/snippets/samples/code_samples_get_experimental_features_1.mdx b/snippets/samples/code_samples_get_experimental_features_1.mdx index 184d0c19e..de31ea010 100644 --- a/snippets/samples/code_samples_get_experimental_features_1.mdx +++ b/snippets/samples/code_samples_get_experimental_features_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/experimental-features/' +``` + ```ruby Ruby client.experimental_features ``` 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 dfb631101..bfb04ecd9 100644 --- a/snippets/samples/code_samples_get_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_get_facet_search_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/INDEX_UID/settings/facet-search' +``` + ```javascript JS client.index('INDEX_NAME').getFacetSearch(); ``` diff --git a/snippets/samples/code_samples_get_faceting_settings_1.mdx b/snippets/samples/code_samples_get_faceting_settings_1.mdx index 719d11f0a..0c907d681 100644 --- a/snippets/samples/code_samples_get_faceting_settings_1.mdx +++ b/snippets/samples/code_samples_get_faceting_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/books/settings/faceting' +``` + ```javascript JS client.index('books').getFaceting() ``` diff --git a/snippets/samples/code_samples_get_filterable_attributes_1.mdx b/snippets/samples/code_samples_get_filterable_attributes_1.mdx index 9080129e7..45e078417 100644 --- a/snippets/samples/code_samples_get_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_filterable_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings/filterable-attributes' +``` + ```javascript JS client.index('movies').getFilterableAttributes() ``` diff --git a/snippets/samples/code_samples_get_health_1.mdx b/snippets/samples/code_samples_get_health_1.mdx index e02176e8b..936cbe42b 100644 --- a/snippets/samples/code_samples_get_health_1.mdx +++ b/snippets/samples/code_samples_get_health_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/health' +``` + ```javascript JS client.health() ``` diff --git a/snippets/samples/code_samples_get_index_stats_1.mdx b/snippets/samples/code_samples_get_index_stats_1.mdx index fa3551755..e1edcb2a4 100644 --- a/snippets/samples/code_samples_get_index_stats_1.mdx +++ b/snippets/samples/code_samples_get_index_stats_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/stats' +``` + ```javascript JS client.index('movies').getStats() ``` diff --git a/snippets/samples/code_samples_get_indexes_stats_1.mdx b/snippets/samples/code_samples_get_indexes_stats_1.mdx index eb8153a0f..115d71115 100644 --- a/snippets/samples/code_samples_get_indexes_stats_1.mdx +++ b/snippets/samples/code_samples_get_indexes_stats_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/stats' +``` + ```javascript JS client.getStats() ``` diff --git a/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx b/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx index 5dfc024f2..bb2647644 100644 --- a/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx +++ b/snippets/samples/code_samples_get_localized_attribute_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/localized-attributes' +``` + ```javascript JS client.index('INDEX_NAME').getLocalizedAttributes() ``` diff --git a/snippets/samples/code_samples_get_non_separator_tokens_1.mdx b/snippets/samples/code_samples_get_non_separator_tokens_1.mdx index 26427aaa6..f9866a1ac 100644 --- a/snippets/samples/code_samples_get_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_get_non_separator_tokens_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/articles/settings/non-separator-tokens' +``` + ```javascript JS client.index('books').getNonSeparatorTokens() ``` diff --git a/snippets/samples/code_samples_get_one_document_1.mdx b/snippets/samples/code_samples_get_one_document_1.mdx index b0642aa2e..4d41a83b5 100644 --- a/snippets/samples/code_samples_get_one_document_1.mdx +++ b/snippets/samples/code_samples_get_one_document_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/documents/25684?fields=id,title,poster,release_date' +``` + ```javascript JS client .index('movies') diff --git a/snippets/samples/code_samples_get_one_index_1.mdx b/snippets/samples/code_samples_get_one_index_1.mdx index ba2c94445..bfe823501 100644 --- a/snippets/samples/code_samples_get_one_index_1.mdx +++ b/snippets/samples/code_samples_get_one_index_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies' +``` + ```javascript JS client.index('movies').getRawInfo() ``` diff --git a/snippets/samples/code_samples_get_one_key_1.mdx b/snippets/samples/code_samples_get_one_key_1.mdx index cb2146e90..5251cad89 100644 --- a/snippets/samples/code_samples_get_one_key_1.mdx +++ b/snippets/samples/code_samples_get_one_key_1.mdx @@ -1,5 +1,11 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/keys/6062abda-a5aa-4414-ac91-ecd7944c0f8d' \ + -H 'Authorization: Bearer MASTER_KEY' +``` + ```javascript JS client.getKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d') ``` diff --git a/snippets/samples/code_samples_get_pagination_settings_1.mdx b/snippets/samples/code_samples_get_pagination_settings_1.mdx index 05b1a41d0..07cf9d3b4 100644 --- a/snippets/samples/code_samples_get_pagination_settings_1.mdx +++ b/snippets/samples/code_samples_get_pagination_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/books/settings/pagination' +``` + ```javascript JS client.index('books').getPagination() ``` 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 a4ed58d99..155d4eddb 100644 --- a/snippets/samples/code_samples_get_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_get_prefix_search_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/INDEX_UID/settings/prefix-search' +``` + ```javascript JS client.index('INDEX_NAME').getPrefixSearch(); ``` diff --git a/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx index 2b7be6e02..b400b818b 100644 --- a/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_get_proximity_precision_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/books/settings/proximity-precision' +``` + ```javascript JS client.index('books').getProximityPrecision() ``` diff --git a/snippets/samples/code_samples_get_ranking_rules_1.mdx b/snippets/samples/code_samples_get_ranking_rules_1.mdx index e72575f8c..8da3f64b9 100644 --- a/snippets/samples/code_samples_get_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_get_ranking_rules_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' +``` + ```javascript JS client.index('movies').getRankingRules() ``` diff --git a/snippets/samples/code_samples_get_search_cutoff_1.mdx b/snippets/samples/code_samples_get_search_cutoff_1.mdx index 479179b7e..ab2a2ef53 100644 --- a/snippets/samples/code_samples_get_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_get_search_cutoff_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings/search-cutoff-ms' +``` + ```javascript JS client.index('movies').getSearchCutoffMs() ``` diff --git a/snippets/samples/code_samples_get_searchable_attributes_1.mdx b/snippets/samples/code_samples_get_searchable_attributes_1.mdx index c9acb95ec..9eea6947b 100644 --- a/snippets/samples/code_samples_get_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_searchable_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' +``` + ```javascript JS client.index('movies').getSearchableAttributes() ``` diff --git a/snippets/samples/code_samples_get_separator_tokens_1.mdx b/snippets/samples/code_samples_get_separator_tokens_1.mdx index 4d7134084..5fae44817 100644 --- a/snippets/samples/code_samples_get_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_get_separator_tokens_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/articles/settings/separator-tokens' +``` + ```javascript JS client.index('books').getSeparatorTokens() ``` diff --git a/snippets/samples/code_samples_get_settings_1.mdx b/snippets/samples/code_samples_get_settings_1.mdx index d2253fbe6..09104a985 100644 --- a/snippets/samples/code_samples_get_settings_1.mdx +++ b/snippets/samples/code_samples_get_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings' +``` + ```javascript JS client.index('movies').getSettings() ``` diff --git a/snippets/samples/code_samples_get_similar_post_1.mdx b/snippets/samples/code_samples_get_similar_post_1.mdx index d1f388648..534a02785 100644 --- a/snippets/samples/code_samples_get_similar_post_1.mdx +++ b/snippets/samples/code_samples_get_similar_post_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/similar' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ + --data-binary '{ + "id": TARGET_DOCUMENT_ID, + "embedder": "EMBEDDER_NAME" + }' +``` + ```javascript JS client.index('INDEX_NAME').searchSimilarDocuments({ id: 'TARGET_DOCUMENT_ID', embedder: 'default' }) ``` diff --git a/snippets/samples/code_samples_get_sortable_attributes_1.mdx b/snippets/samples/code_samples_get_sortable_attributes_1.mdx index 23bcf4b61..55aa878da 100644 --- a/snippets/samples/code_samples_get_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_get_sortable_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' +``` + ```javascript JS client.index('books').getSortableAttributes() ``` diff --git a/snippets/samples/code_samples_get_stop_words_1.mdx b/snippets/samples/code_samples_get_stop_words_1.mdx index 92472df56..63adfa3e8 100644 --- a/snippets/samples/code_samples_get_stop_words_1.mdx +++ b/snippets/samples/code_samples_get_stop_words_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings/stop-words' +``` + ```javascript JS client.index('movies').getStopWords() ``` diff --git a/snippets/samples/code_samples_get_synonyms_1.mdx b/snippets/samples/code_samples_get_synonyms_1.mdx index ee3cce8c9..5f0bcc248 100644 --- a/snippets/samples/code_samples_get_synonyms_1.mdx +++ b/snippets/samples/code_samples_get_synonyms_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/settings/synonyms' +``` + ```javascript JS client.index('movies').getSynonyms() ``` diff --git a/snippets/samples/code_samples_get_task_1.mdx b/snippets/samples/code_samples_get_task_1.mdx index 598d4b096..7a1414ac0 100644 --- a/snippets/samples/code_samples_get_task_1.mdx +++ b/snippets/samples/code_samples_get_task_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks/1' +``` + ```javascript JS client.tasks.getTask(1) ``` diff --git a/snippets/samples/code_samples_get_typo_tolerance_1.mdx b/snippets/samples/code_samples_get_typo_tolerance_1.mdx index f3b6175f1..2c5b5d9db 100644 --- a/snippets/samples/code_samples_get_typo_tolerance_1.mdx +++ b/snippets/samples/code_samples_get_typo_tolerance_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/books/settings/typo-tolerance' +``` + ```javascript JS client.index('books').getTypoTolerance() ``` diff --git a/snippets/samples/code_samples_get_version_1.mdx b/snippets/samples/code_samples_get_version_1.mdx index 60421315a..36fcffe37 100644 --- a/snippets/samples/code_samples_get_version_1.mdx +++ b/snippets/samples/code_samples_get_version_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/version' +``` + ```javascript JS client.getVersion() ``` diff --git a/snippets/samples/code_samples_getting_started_add_documents.mdx b/snippets/samples/code_samples_getting_started_add_documents.mdx index 9a4eaa3f6..9a2a53b20 100644 --- a/snippets/samples/code_samples_getting_started_add_documents.mdx +++ b/snippets/samples/code_samples_getting_started_add_documents.mdx @@ -1,5 +1,13 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/documents?primaryKey=id' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: Bearer aSampleMasterKey' \ + --data-binary @movies.json +``` + ```javascript JS // With npm: // npm install meilisearch diff --git a/snippets/samples/code_samples_getting_started_add_meteorites.mdx b/snippets/samples/code_samples_getting_started_add_meteorites.mdx index bfed33b19..77373581e 100644 --- a/snippets/samples/code_samples_getting_started_add_meteorites.mdx +++ b/snippets/samples/code_samples_getting_started_add_meteorites.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/meteorites/documents' \ + -H 'Content-Type: application/json' \ + --data-binary @meteorites.json +``` + ```javascript JS const meteorites = require('./meteorites.json') diff --git a/snippets/samples/code_samples_getting_started_check_task_status.mdx b/snippets/samples/code_samples_getting_started_check_task_status.mdx index 2cd5eb5bf..ca8333dbe 100644 --- a/snippets/samples/code_samples_getting_started_check_task_status.mdx +++ b/snippets/samples/code_samples_getting_started_check_task_status.mdx @@ -1,5 +1,11 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks/0' \ + -H 'Authorization: Bearer aSampleMasterKey' +``` + ```javascript JS client.tasks.getTask(0) ``` diff --git a/snippets/samples/code_samples_getting_started_configure_settings.mdx b/snippets/samples/code_samples_getting_started_configure_settings.mdx index facff5b2c..2bf0c631a 100644 --- a/snippets/samples/code_samples_getting_started_configure_settings.mdx +++ b/snippets/samples/code_samples_getting_started_configure_settings.mdx @@ -1,5 +1,21 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/meteorites/settings' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "filterableAttributes": [ + "mass", + "_geo" + ], + "sortableAttributes": [ + "mass", + "_geo" + ] + }' +``` + ```javascript JS client.index('meteorites').updateSettings({ filterableAttributes: ['mass', '_geo'], diff --git a/snippets/samples/code_samples_getting_started_faceting.mdx b/snippets/samples/code_samples_getting_started_faceting.mdx index f7b8c3db3..2461cbd02 100644 --- a/snippets/samples/code_samples_getting_started_faceting.mdx +++ b/snippets/samples/code_samples_getting_started_faceting.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/faceting' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "maxValuesPerFacet": 2, + "sortFacetValuesBy": { + "*": "count" + } + }' +``` + ```javascript JS client.index('movies').updateFaceting({ maxValuesPerFacet: 2, diff --git a/snippets/samples/code_samples_getting_started_filtering.mdx b/snippets/samples/code_samples_getting_started_filtering.mdx index 122d7a92a..6260dc684 100644 --- a/snippets/samples/code_samples_getting_started_filtering.mdx +++ b/snippets/samples/code_samples_getting_started_filtering.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "filter": "mass < 200" }' +``` + ```javascript JS client.index('meteorites').search('', { filter: 'mass < 200' }) ``` diff --git a/snippets/samples/code_samples_getting_started_geo_point.mdx b/snippets/samples/code_samples_getting_started_geo_point.mdx index ddc2f3b06..90cfdce8b 100644 --- a/snippets/samples/code_samples_getting_started_geo_point.mdx +++ b/snippets/samples/code_samples_getting_started_geo_point.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ + -H 'Content-type:application/json' \ + --data-binary '{ "sort": ["_geoPoint(48.8583701,2.2922926):asc"] }' +``` + ```javascript JS client.index('meteorites').search('', { sort: ['_geoPoint(48.8583701, 2.2922926):asc'] }) ``` diff --git a/snippets/samples/code_samples_getting_started_geo_radius.mdx b/snippets/samples/code_samples_getting_started_geo_radius.mdx index 1f11e269f..70063f96d 100644 --- a/snippets/samples/code_samples_getting_started_geo_radius.mdx +++ b/snippets/samples/code_samples_getting_started_geo_radius.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ + -H 'Content-type:application/json' \ + --data-binary '{ "filter": "_geoRadius(46.9480, 7.4474, 210000)" }' +``` + ```javascript JS client.index('meteorites').search('', { filter: '_geoRadius(46.9480, 7.4474, 210000)' }) ``` diff --git a/snippets/samples/code_samples_getting_started_pagination.mdx b/snippets/samples/code_samples_getting_started_pagination.mdx index ef587d570..c1eed72d5 100644 --- a/snippets/samples/code_samples_getting_started_pagination.mdx +++ b/snippets/samples/code_samples_getting_started_pagination.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/pagination' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "maxTotalHits": 500 + }' +``` + ```javascript JS client.index('movies').updatePagination({ maxTotalHits: 500 }) ``` diff --git a/snippets/samples/code_samples_getting_started_search.mdx b/snippets/samples/code_samples_getting_started_search.mdx index 183559ba1..5c61873d6 100644 --- a/snippets/samples/code_samples_getting_started_search.mdx +++ b/snippets/samples/code_samples_getting_started_search.mdx @@ -1,5 +1,13 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: Bearer aSampleMasterKey' \ + --data-binary '{ "q": "botman" }' +``` + ```javascript JS client.index('movies').search('botman').then((res) => console.log(res)) ``` diff --git a/snippets/samples/code_samples_getting_started_sorting.mdx b/snippets/samples/code_samples_getting_started_sorting.mdx index 749609657..90ce81107 100644 --- a/snippets/samples/code_samples_getting_started_sorting.mdx +++ b/snippets/samples/code_samples_getting_started_sorting.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/meteorites/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "filter": "mass < 200", + "sort": ["mass:asc"] + }' +``` + ```javascript JS client.index('meteorites').search('', { sort: ['mass:asc'], diff --git a/snippets/samples/code_samples_getting_started_synonyms.mdx b/snippets/samples/code_samples_getting_started_synonyms.mdx index e254e78a1..4e2c0b6b7 100644 --- a/snippets/samples/code_samples_getting_started_synonyms.mdx +++ b/snippets/samples/code_samples_getting_started_synonyms.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/synonyms' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "winnie": ["piglet"], + "piglet": ["winnie"] + }' +``` + ```javascript JS client.index('movies').updateSynonyms({ winnie: ['piglet'], diff --git a/snippets/samples/code_samples_getting_started_typo_tolerance.mdx b/snippets/samples/code_samples_getting_started_typo_tolerance.mdx index 9d59f6458..a3d7be203 100644 --- a/snippets/samples/code_samples_getting_started_typo_tolerance.mdx +++ b/snippets/samples/code_samples_getting_started_typo_tolerance.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "minWordSizeForTypos": { "oneTypo": 4 } +}' +``` + ```javascript JS client.index('movies').updateTypoTolerance({ minWordSizeForTypos: { diff --git a/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx b/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx index 001e1beab..46d92d925 100644 --- a/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx +++ b/snippets/samples/code_samples_getting_started_update_displayed_attributes.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "title", + "overview", + "poster" + ]' +``` + ```javascript JS client.index('movies').updateDisplayedAttributes([ 'title', diff --git a/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx b/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx index 73813b5f2..4a12ba5cc 100644 --- a/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx +++ b/snippets/samples/code_samples_getting_started_update_ranking_rules.mdx @@ -1,5 +1,21 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "exactness", + "words", + "typo", + "proximity", + "attribute", + "sort", + "release_date:asc", + "rank:desc" + ]' +``` + ```javascript JS client.index('movies').updateRankingRules([ 'exactness', diff --git a/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx b/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx index 23f8517eb..7b3a33e67 100644 --- a/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx +++ b/snippets/samples/code_samples_getting_started_update_searchable_attributes.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '["title"]' +``` + ```javascript JS client.index('movies').updateSearchableAttributes([ 'title' diff --git a/snippets/samples/code_samples_getting_started_update_stop_words.mdx b/snippets/samples/code_samples_getting_started_update_stop_words.mdx index 829bd699e..b9c9d890b 100644 --- a/snippets/samples/code_samples_getting_started_update_stop_words.mdx +++ b/snippets/samples/code_samples_getting_started_update_stop_words.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/stop-words' \ + -H 'Content-Type: application/json' \ + --data-binary '["the"]' +``` + ```javascript JS client.index('movies').updateStopWords(['the']) ``` 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 cc5c601bf..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 @@ -1,10 +1,8 @@ -```rust Rust -let searchable_attributes: Vec = index - .get_searchable_attributes() - .await - .unwrap(); +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/searchable-attributes' ``` ```rust Rust 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 83862266b..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 @@ -1,10 +1,13 @@ -```rust Rust -let task = index - .set_searchable_attributes(["title", "overview"]) - .await - .unwrap(); +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/searchable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "title", + "overview" + ]' ``` ```rust Rust 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 95994eeba..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 @@ -1,7 +1,8 @@ -```rust Rust -let task_status = index.get_task(&task).await.unwrap(); +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/tasks/TASK_UID' ``` ```rust Rust diff --git a/snippets/samples/code_samples_list_all_indexes_1.mdx b/snippets/samples/code_samples_list_all_indexes_1.mdx index 69a16ad04..090268bb7 100644 --- a/snippets/samples/code_samples_list_all_indexes_1.mdx +++ b/snippets/samples/code_samples_list_all_indexes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes?limit=3' +``` + ```javascript JS client.getIndexes({ limit: 3 }) ``` diff --git a/snippets/samples/code_samples_multi_search_1.mdx b/snippets/samples/code_samples_multi_search_1.mdx index 3d1146278..0d84985a5 100644 --- a/snippets/samples/code_samples_multi_search_1.mdx +++ b/snippets/samples/code_samples_multi_search_1.mdx @@ -1,5 +1,29 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/multi-search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "queries": [ + { + "indexUid": "movies", + "q": "pooh", + "limit": 5 + }, + { + "indexUid": "movies", + "q": "nemo", + "limit": 5 + }, + { + "indexUid": "movie_ratings", + "q": "us" + } + ] + }' +``` + ```javascript JS client.multiSearch({ queries: [ { diff --git a/snippets/samples/code_samples_multi_search_federated_1.mdx b/snippets/samples/code_samples_multi_search_federated_1.mdx index 77c08a09f..acf53e72f 100644 --- a/snippets/samples/code_samples_multi_search_federated_1.mdx +++ b/snippets/samples/code_samples_multi_search_federated_1.mdx @@ -1,5 +1,24 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/multi-search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "federation": {}, + "queries": [ + { + "indexUid": "movies", + "q": "batman" + }, + { + "indexUid": "comics", + "q": "batman" + } + ] + }' +``` + ```javascript JS client.multiSearch({ federation: {}, diff --git a/snippets/samples/code_samples_negative_search_1.mdx b/snippets/samples/code_samples_negative_search_1.mdx index 17da8a69b..d55e30b10 100644 --- a/snippets/samples/code_samples_negative_search_1.mdx +++ b/snippets/samples/code_samples_negative_search_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "q": "-escape" }' +``` + ```javascript JS client.index('movies').search('-escape') ``` diff --git a/snippets/samples/code_samples_negative_search_2.mdx b/snippets/samples/code_samples_negative_search_2.mdx index f77c6d397..f25dc2bba 100644 --- a/snippets/samples/code_samples_negative_search_2.mdx +++ b/snippets/samples/code_samples_negative_search_2.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "q": "-\"escape room\"" }' +``` + ```javascript JS client.index('movies').search('-"escape"') ``` diff --git a/snippets/samples/code_samples_phrase_search_1.mdx b/snippets/samples/code_samples_phrase_search_1.mdx index 0c9cf9aa6..68f98186c 100644 --- a/snippets/samples/code_samples_phrase_search_1.mdx +++ b/snippets/samples/code_samples_phrase_search_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ +--data-binary '{ "q": "\"african american\" horror" }' +``` + ```javascript JS client.index('movies') .search('"african american" horror') diff --git a/snippets/samples/code_samples_post_dump_1.mdx b/snippets/samples/code_samples_post_dump_1.mdx index 7a8b8ab61..ffdc56a79 100644 --- a/snippets/samples/code_samples_post_dump_1.mdx +++ b/snippets/samples/code_samples_post_dump_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/dumps' +``` + ```javascript JS client.createDump() ``` diff --git a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx index 3714af30b..6d8ecc627 100644 --- a/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_add_document_primary_key.mdx @@ -1,5 +1,23 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/documents?primaryKey=reference_number' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + { + "reference_number": 287947, + "title": "Diary of a Wimpy Kid", + "author": "Jeff Kinney", + "genres": [ + "comedy", + "humor" + ], + "price": 5.00 + } + ]' +``` + ```javascript JS client.index('books').addDocuments([ { diff --git a/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx index 75213d322..55bc6d51d 100644 --- a/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_create_index_primary_key.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "uid": "books", + "primaryKey": "reference_number" + }' +``` + ```javascript JS client.createIndex('books', { primaryKey: 'reference_number' }) ``` diff --git a/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx b/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx index 09db64073..9581144fe 100644 --- a/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx +++ b/snippets/samples/code_samples_primary_field_guide_update_document_primary_key.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/books' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "primaryKey": "title" }' +``` + ```javascript JS client.updateIndex('books', { primaryKey: 'title' diff --git a/snippets/samples/code_samples_related_results_embedder_1.mdx b/snippets/samples/code_samples_related_results_embedder_1.mdx index afa2162de..1f285b42d 100644 --- a/snippets/samples/code_samples_related_results_embedder_1.mdx +++ b/snippets/samples/code_samples_related_results_embedder_1.mdx @@ -1,19 +1,19 @@ -```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(); +```bash cURL +curl -X PATCH 'MEILISEARCH_URL/indexes/movies/settings' + -H 'Content-Type: application/json' + -H 'Authorization: Bearer MEILISEARCH_API_KEY' + --data-binary '{ + "embedders": { + "movies-text": { + "source": "openAi", + "apiKey": "OPENAI_API_KEY", + "model": "text-embedding-3-small", + "documentTemplate": "A movie titled '{{doc.title}}' released in {{ doc.release_date }}. The movie genres are: {{doc.genres}}. The story is about: {{doc.overview|truncatewords: 20}}" + } + } + }' ``` ```rust Rust diff --git a/snippets/samples/code_samples_related_results_search_1.mdx b/snippets/samples/code_samples_related_results_search_1.mdx index 69682d6be..38bb44ab5 100644 --- a/snippets/samples/code_samples_related_results_search_1.mdx +++ b/snippets/samples/code_samples_related_results_search_1.mdx @@ -1,12 +1,15 @@ -```rust Rust -let results = movies.search() - .with_query("batman") - .with_hybrid("EMBEDDER_NAME", 0.5) - .execute() - .await - .unwrap(); +```bash cURL +curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ + -H 'content-type: application/json' \ + -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ + --data-binary '{ + "q": "batman", + "hybrid": { + "embedder": "EMBEDDER_NAME" + } + }' ``` ```rust Rust diff --git a/snippets/samples/code_samples_related_results_similar_1.mdx b/snippets/samples/code_samples_related_results_similar_1.mdx index c390af1ec..24fbdbf35 100644 --- a/snippets/samples/code_samples_related_results_similar_1.mdx +++ b/snippets/samples/code_samples_related_results_similar_1.mdx @@ -1,10 +1,14 @@ -```rust Rust -let results = movies.similar_search("192", "EMBEDDER_NAME") - .execute() - .await - .unwrap(); +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/similar' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: Bearer DEFAULT_SEARCH_API_KEY' \ + --data-binary '{ + "id": 192, + "embedder": "EMBEDDER_NAME" + }' ``` ```rust Rust diff --git a/snippets/samples/code_samples_reset_dictionary_1.mdx b/snippets/samples/code_samples_reset_dictionary_1.mdx index 16df02b9b..921d15e7f 100644 --- a/snippets/samples/code_samples_reset_dictionary_1.mdx +++ b/snippets/samples/code_samples_reset_dictionary_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/books/settings/dictionary' +``` + ```javascript JS client.index('books').resetDictionary() ``` diff --git a/snippets/samples/code_samples_reset_displayed_attributes_1.mdx b/snippets/samples/code_samples_reset_displayed_attributes_1.mdx index 99b4a941c..413515624 100644 --- a/snippets/samples/code_samples_reset_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_displayed_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' +``` + ```javascript JS client.index('movies').resetDisplayedAttributes() ``` diff --git a/snippets/samples/code_samples_reset_distinct_attribute_1.mdx b/snippets/samples/code_samples_reset_distinct_attribute_1.mdx index 37e1630d9..1db2b3915 100644 --- a/snippets/samples/code_samples_reset_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_reset_distinct_attribute_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/shoes/settings/distinct-attribute' +``` + ```javascript JS client.index('shoes').resetDistinctAttribute() ``` diff --git a/snippets/samples/code_samples_reset_embedders_1.mdx b/snippets/samples/code_samples_reset_embedders_1.mdx index 00ec5b2cc..b9eaee801 100644 --- a/snippets/samples/code_samples_reset_embedders_1.mdx +++ b/snippets/samples/code_samples_reset_embedders_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/embedders' +``` + ```ruby Ruby client.index('INDEX_NAME').reset_embedders ``` 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 2afc93c10..9591211ce 100644 --- a/snippets/samples/code_samples_reset_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_reset_facet_search_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/INDEX_UID/settings/facet-search' +``` + ```javascript JS client.index('INDEX_NAME').resetFacetSearch(); ``` diff --git a/snippets/samples/code_samples_reset_faceting_settings_1.mdx b/snippets/samples/code_samples_reset_faceting_settings_1.mdx index e22ee31ae..573204c54 100644 --- a/snippets/samples/code_samples_reset_faceting_settings_1.mdx +++ b/snippets/samples/code_samples_reset_faceting_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/books/settings/faceting' +``` + ```javascript JS client.index('books').resetFaceting() ``` diff --git a/snippets/samples/code_samples_reset_filterable_attributes_1.mdx b/snippets/samples/code_samples_reset_filterable_attributes_1.mdx index 8171c7387..b717c41a6 100644 --- a/snippets/samples/code_samples_reset_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_filterable_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/filterable-attributes' +``` + ```javascript JS client.index('movies').resetFilterableAttributes() ``` diff --git a/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx b/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx index 64165847f..5f77e3a2e 100644 --- a/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx +++ b/snippets/samples/code_samples_reset_localized_attribute_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/localized-attributes' +``` + ```javascript JS client.index('INDEX_NAME').resetLocalizedAttributes() ``` diff --git a/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx b/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx index 5321e048b..7cf9c7848 100644 --- a/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_reset_non_separator_tokens_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/articles/settings/non-separator-tokens' +``` + ```javascript JS client.index('books').resetNonSeparatorTokens() ``` diff --git a/snippets/samples/code_samples_reset_pagination_settings_1.mdx b/snippets/samples/code_samples_reset_pagination_settings_1.mdx index a5fd33bb3..8950bf93b 100644 --- a/snippets/samples/code_samples_reset_pagination_settings_1.mdx +++ b/snippets/samples/code_samples_reset_pagination_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/books/settings/pagination' +``` + ```javascript JS client.index('books').resetPagination() ``` 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 b749ad875..b161e68b3 100644 --- a/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_reset_prefix_search_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/INDEX_UID/settings/prefix-search' +``` + ```javascript JS client.index('INDEX_NAME').resetPrefixSearch(); ``` diff --git a/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx index 9b73f6dfb..9c14deeb3 100644 --- a/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_reset_proximity_precision_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/books/settings/proximity-precision' +``` + ```javascript JS client.index('books').resetProximityPrecision() ``` diff --git a/snippets/samples/code_samples_reset_ranking_rules_1.mdx b/snippets/samples/code_samples_reset_ranking_rules_1.mdx index 0e444cdde..98e964720 100644 --- a/snippets/samples/code_samples_reset_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_reset_ranking_rules_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' +``` + ```javascript JS client.index('movies').resetRankingRules() ``` diff --git a/snippets/samples/code_samples_reset_search_cutoff_1.mdx b/snippets/samples/code_samples_reset_search_cutoff_1.mdx index 9eba157b4..f07d4c8b9 100644 --- a/snippets/samples/code_samples_reset_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_reset_search_cutoff_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/search-cutoff-ms' +``` + ```javascript JS client.index('movies').resetSearchCutoffMs() ``` diff --git a/snippets/samples/code_samples_reset_searchable_attributes_1.mdx b/snippets/samples/code_samples_reset_searchable_attributes_1.mdx index a02101e97..c38b24a60 100644 --- a/snippets/samples/code_samples_reset_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_searchable_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' +``` + ```javascript JS client.index('movies').resetSearchableAttributes() ``` diff --git a/snippets/samples/code_samples_reset_separator_tokens_1.mdx b/snippets/samples/code_samples_reset_separator_tokens_1.mdx index 191dfec4b..47eb8cd4f 100644 --- a/snippets/samples/code_samples_reset_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_reset_separator_tokens_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/articles/settings/separator-tokens' +``` + ```javascript JS client.index('books').resetSeparatorTokens() ``` diff --git a/snippets/samples/code_samples_reset_settings_1.mdx b/snippets/samples/code_samples_reset_settings_1.mdx index 84613ef9a..354f91ca7 100644 --- a/snippets/samples/code_samples_reset_settings_1.mdx +++ b/snippets/samples/code_samples_reset_settings_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings' +``` + ```javascript JS client.index('movies').resetSettings() ``` diff --git a/snippets/samples/code_samples_reset_sortable_attributes_1.mdx b/snippets/samples/code_samples_reset_sortable_attributes_1.mdx index ca69855bc..0f0cc5133 100644 --- a/snippets/samples/code_samples_reset_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_reset_sortable_attributes_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' +``` + ```javascript JS client.index('books').resetSortableAttributes() ``` diff --git a/snippets/samples/code_samples_reset_stop_words_1.mdx b/snippets/samples/code_samples_reset_stop_words_1.mdx index 01c35ae67..f792d8da5 100644 --- a/snippets/samples/code_samples_reset_stop_words_1.mdx +++ b/snippets/samples/code_samples_reset_stop_words_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/stop-words' +``` + ```javascript JS client.index('movies').resetStopWords() ``` diff --git a/snippets/samples/code_samples_reset_synonyms_1.mdx b/snippets/samples/code_samples_reset_synonyms_1.mdx index d1e76f0e8..4eaa3c31e 100644 --- a/snippets/samples/code_samples_reset_synonyms_1.mdx +++ b/snippets/samples/code_samples_reset_synonyms_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/movies/settings/synonyms' +``` + ```javascript JS client.index('movies').resetSynonyms() ``` diff --git a/snippets/samples/code_samples_reset_typo_tolerance_1.mdx b/snippets/samples/code_samples_reset_typo_tolerance_1.mdx index e00a98b7c..12ac8fdce 100644 --- a/snippets/samples/code_samples_reset_typo_tolerance_1.mdx +++ b/snippets/samples/code_samples_reset_typo_tolerance_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/indexes/books/settings/typo-tolerance' +``` + ```javascript JS client.index('books').resetTypoTolerance() ``` diff --git a/snippets/samples/code_samples_search_get_1.mdx b/snippets/samples/code_samples_search_get_1.mdx index 59913a69b..a2de8aced 100644 --- a/snippets/samples/code_samples_search_get_1.mdx +++ b/snippets/samples/code_samples_search_get_1.mdx @@ -1,5 +1,10 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/indexes/movies/search?q=american%20ninja' +``` + ```javascript JS client.index('movies').searchGet('American ninja') ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx b/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx index 566ecba14..bc708c35d 100644 --- a/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_attributes_to_search_on_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "adventure", + "attributesToSearchOn": ["overview"] + }' +``` + ```javascript JS client.index('movies').search('adventure', { attributesToSearchOn: ['overview'] diff --git a/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx b/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx index 5d85c4bd4..bd575bd8b 100644 --- a/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_crop_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "shifu", + "attributesToCrop": ["overview"], + "cropLength": 5 + }' +``` + ```javascript JS client.index('movies').search('shifu', { attributesToCrop: ['overview'], diff --git a/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx b/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx index c4a48d0f8..e8808a04a 100644 --- a/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_crop_marker_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "shifu", + "cropMarker": "[…]", + "attributesToCrop": ["overview"] + }' +``` + ```javascript JS client.index('movies').search('shifu', { attributesToCrop: ['overview'], diff --git a/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx b/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx index 7a869e55d..d5559a27c 100644 --- a/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_facet_stats_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movie_ratings/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "Batman", + "facets": ["genres", "rating"] + }' +``` + ```javascript JS client.index('movie_ratings').search('Batman', { facets: ['genres', 'rating'] }) ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx b/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx index 225ac43d8..2e693640c 100644 --- a/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_highlight_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "winter feast", + "attributesToHighlight": ["overview"] + }' +``` + ```javascript JS client.index('movies').search('winter feast', { attributesToHighlight: ['overview'] diff --git a/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx b/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx index 53a995919..90d613191 100644 --- a/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_highlight_tag_1.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "winter feast", + "attributesToHighlight": ["overview"], + "highlightPreTag": "", + "highlightPostTag": "" + }' +``` + ```javascript JS client.index('movies').search('winter feast', { attributesToHighlight: ['overview'], diff --git a/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx b/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx index 3ad5845e8..44d1cd5e6 100644 --- a/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_hitsperpage_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "", + "hitsPerPage": 15 + }' +``` + ```javascript JS client.index('movies').search('', { hitsPerPage: 15 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 1f02a697b..e61487848 100644 --- a/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_hybrid_1.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ + -H 'content-type: application/json' \ + --data-binary '{ + "q": "kitchen utensils", + "hybrid": { + "semanticRatio": 0.9, + "embedder": "EMBEDDER_NAME" + } + }' +``` + ```javascript JS client.index('INDEX_NAME').search('kitchen utensils', { hybrid: { diff --git a/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx b/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx index 85dfc11d5..8f7427705 100644 --- a/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_limit_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "shifu", + "limit": 2 + }' +``` + ```javascript JS client.index('movies').search('shifu', { limit: 2 diff --git a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx index 82de42469..1cc2e929c 100644 --- a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "big fat liar", + "matchingStrategy": "last" + }' +``` + ```javascript JS client.index('movies').search('big fat liar', { matchingStrategy: 'last' diff --git a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx index 606123cfa..23072bd05 100644 --- a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_2.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "big fat liar", + "matchingStrategy": "all" + }' +``` + ```javascript JS client.index('movies').search('big fat liar', { matchingStrategy: 'all' diff --git a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx index 3b8cf39c7..9ca750c44 100644 --- a/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_matching_strategy_3.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "white shirt", + "matchingStrategy": "frequency" + }' +``` + ```javascript JS client.index('movies').search('white shirt', { matchingStrategy: 'frequency' diff --git a/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx b/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx index 5541e5511..bd12f2deb 100644 --- a/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_offset_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "shifu", + "offset": 1 + }' +``` + ```javascript JS client.index('movies').search('shifu', { offset: 1 diff --git a/snippets/samples/code_samples_search_parameter_guide_page_1.mdx b/snippets/samples/code_samples_search_parameter_guide_page_1.mdx index d4d3a9fe7..fc5509493 100644 --- a/snippets/samples/code_samples_search_parameter_guide_page_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_page_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "", + "page": 2 + }' +``` + ```javascript JS client.index('movies').search('', { page: 2 diff --git a/snippets/samples/code_samples_search_parameter_guide_query_1.mdx b/snippets/samples/code_samples_search_parameter_guide_query_1.mdx index 3a840cc9e..72f5c3e48 100644 --- a/snippets/samples/code_samples_search_parameter_guide_query_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_query_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "q": "shifu" }' +``` + ```javascript JS client.index('movies').search('shifu') ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx b/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx index 2becd5f2c..2a3873491 100644 --- a/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_retrieve_1.mdx @@ -1,5 +1,18 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "shifu", + "attributesToRetrieve": [ + "overview", + "title" + ] + }' +``` + ```javascript JS client.index('movies').search('shifu', { attributesToRetrieve: ['overview', 'title'] diff --git a/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx index 024ea82af..ed0f8ccc1 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_matches_position_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "winter feast", + "showMatchesPosition": true + }' +``` + ```javascript JS client.index('movies').search('winter feast', { showMatchesPosition: true diff --git a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx index dd25450b1..9fbd6c89b 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "dragon", + "showRankingScore": true + }' +``` + ```javascript JS client.index('movies').search('dragon', { showRankingScore: true diff --git a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx index d346ca34f..8328120ea 100644 --- a/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_show_ranking_score_details_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "dragon", + "showRankingScoreDetails": true + }' +``` + ```javascript JS client.index('movies').search('dragon', { showRankingScoreDetails: true }) ``` diff --git a/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx b/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx index 5083809e5..a6ccd575f 100644 --- a/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_sort_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "science fiction", + "sort": ["price:asc"] + }' +``` + ```javascript JS client.index('books').search('science fiction', { sort: ['price:asc'], 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 16bb811c5..ad8a2c35a 100644 --- a/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx +++ b/snippets/samples/code_samples_search_parameter_guide_vector_1.mdx @@ -1,13 +1,14 @@ -```rust Rust -let results = index - .search() - .with_vector(&[0.0, 1.0, 2.0]) - .with_hybrid("EMBEDDER_NAME", 1.0) - .execute() - .await - .unwrap(); +```bash cURL +curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ + -H 'content-type: application/json' \ + --data-binary '{ + "vector": [0, 1, 2], + "hybrid": { + "embedder": "EMBEDDER_NAME" + } + }' ``` ```rust Rust diff --git a/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx b/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx index 20191ee14..ca908222a 100644 --- a/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx +++ b/snippets/samples/code_samples_search_parameter_reference_distinct_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "QUERY TERMS", + "distinct": "ATTRIBUTE_A" + }' +``` + ```javascript JS client.index('INDEX_NAME').search('QUERY TERMS', { distinct: 'ATTRIBUTE_A' }) ``` diff --git a/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx b/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx index 90f4a7560..d3c9cd509 100644 --- a/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx +++ b/snippets/samples/code_samples_search_parameter_reference_locales_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ +-X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ +-H 'Content-Type: application/json' \ +--data-binary '{ + "q": "QUERY TEXT IN JAPANESE", + "locales": ["jpn"] +}' +``` + ```javascript JS client.index('INDEX_NAME').search('QUERY TEXT IN JAPANESE', { locales: ['jpn'] }) ``` diff --git a/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx b/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx index 9fbf984a6..8aae73f7e 100644 --- a/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx +++ b/snippets/samples/code_samples_search_parameter_reference_ranking_score_threshold_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ +-X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ +-H 'Content-Type: application/json' \ +--data-binary '{ + "q": "badman", + "rankingScoreThreshold": 0.2 +}' +``` + ```javascript JS client.index('INDEX_NAME').search('badman', { rankingScoreThreshold: 0.2 }) ``` 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 e2e178566..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 @@ -1,5 +1,17 @@ +```bash cURL +curl -X POST 'MEILISEARCH_URL/indexes/INDEX_NAME/search' \ + -H 'content-type: application/json' \ + --data-binary '{ + "q": "kitchen utensils", + "retrieveVectors": true, + "hybrid": { + "embedder": "EMBEDDER_NAME" + } + }' +``` + ```javascript JS client.index('INDEX_NAME').search('kitchen utensils', { retrieveVectors: true, diff --git a/snippets/samples/code_samples_search_post_1.mdx b/snippets/samples/code_samples_search_post_1.mdx index 99648eabd..dfb4452cb 100644 --- a/snippets/samples/code_samples_search_post_1.mdx +++ b/snippets/samples/code_samples_search_post_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/movies/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "q": "american ninja" }' +``` + ```javascript JS client.index('movies').search('American ninja') ``` diff --git a/snippets/samples/code_samples_security_guide_create_key_1.mdx b/snippets/samples/code_samples_security_guide_create_key_1.mdx index e673bf34c..d67c16f31 100644 --- a/snippets/samples/code_samples_security_guide_create_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_create_key_1.mdx @@ -1,5 +1,18 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/keys' \ + -H 'Content-Type: application/json' \ + -H 'Authorization: Bearer MASTER_KEY' \ + --data-binary '{ + "description": "Search patient records key", + "actions": ["search"], + "indexes": ["patient_medical_records"], + "expiresAt": "2023-01-01T00:00:00Z" + }' +``` + ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.createKey({ diff --git a/snippets/samples/code_samples_security_guide_delete_key_1.mdx b/snippets/samples/code_samples_security_guide_delete_key_1.mdx index 45596e7ba..eea681622 100644 --- a/snippets/samples/code_samples_security_guide_delete_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_delete_key_1.mdx @@ -1,5 +1,11 @@ +```bash cURL +curl \ + -X DELETE 'MEILISEARCH_URL/keys/ac5cd97d-5a4b-4226-a868-2d0eb6d197ab' \ + -H 'Authorization: Bearer MASTER_KEY' +``` + ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.deleteKey('ac5cd97d-5a4b-4226-a868-2d0eb6d197ab') diff --git a/snippets/samples/code_samples_security_guide_list_keys_1.mdx b/snippets/samples/code_samples_security_guide_list_keys_1.mdx index f7eabc67a..4f97b3878 100644 --- a/snippets/samples/code_samples_security_guide_list_keys_1.mdx +++ b/snippets/samples/code_samples_security_guide_list_keys_1.mdx @@ -1,5 +1,11 @@ +```bash cURL +curl \ + -X GET 'MEILISEARCH_URL/keys' \ + -H 'Authorization: Bearer MASTER_KEY' +``` + ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.getKeys() diff --git a/snippets/samples/code_samples_security_guide_search_key_1.mdx b/snippets/samples/code_samples_security_guide_search_key_1.mdx index a3643cb1f..34f889958 100644 --- a/snippets/samples/code_samples_security_guide_search_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_search_key_1.mdx @@ -1,5 +1,11 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/patient_medical_records/search' \ + -H 'Authorization: Bearer API_KEY' +``` + ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'apiKey' }) client.index('patient_medical_records').search() diff --git a/snippets/samples/code_samples_security_guide_update_key_1.mdx b/snippets/samples/code_samples_security_guide_update_key_1.mdx index a649308ed..c5353006c 100644 --- a/snippets/samples/code_samples_security_guide_update_key_1.mdx +++ b/snippets/samples/code_samples_security_guide_update_key_1.mdx @@ -1,5 +1,13 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/keys/74c9c733-3368-4738-bbe5-1d18a5fecb37' \ + -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "description": "Default Search API Key" }' +``` + ```javascript JS const client = new MeiliSearch({ host: 'http://localhost:7700', apiKey: 'masterKey' }) client.updateKey('74c9c733-3368-4738-bbe5-1d18a5fecb37', { diff --git a/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx b/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx index e1c6e311d..0d2f931cd 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_nested_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "science fiction", + "sort": ["rating.users:asc"] + }' +``` + ```javascript JS client.index('books').search('science fiction', { 'sort': ['rating.users:asc'], diff --git a/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx b/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx index e7f5c871c..8a93aa6da 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_parameter_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "science fiction", + "sort": ["price:asc"] + }' +``` + ```javascript JS client.index('books').search('science fiction', { sort: ['price:asc'], diff --git a/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx b/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx index d3b4aa902..8e244d70c 100644 --- a/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx +++ b/snippets/samples/code_samples_sorting_guide_sort_parameter_2.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/indexes/books/search' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "q": "butler", + "sort": ["author:desc"] + }' +``` + ```javascript JS client.index('books').search('butler', { sort: ['author:desc'], diff --git a/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx b/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx index b4ac0756b..bf942ce3b 100644 --- a/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_update_ranking_rules_1.mdx @@ -1,5 +1,19 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/books/settings/ranking-rules' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "words", + "sort", + "typo", + "proximity", + "attribute", + "exactness" + ]' +``` + ```javascript JS client.index('books').updateRankingRules([ 'words', diff --git a/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx b/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx index 58d411c70..ef5c2ed31 100644 --- a/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_sorting_guide_update_sortable_attributes_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "author", + "price" + ]' +``` + ```javascript JS client.index('books').updateSortableAttributes([ 'author', diff --git a/snippets/samples/code_samples_swap_indexes_1.mdx b/snippets/samples/code_samples_swap_indexes_1.mdx index 1d97f7560..31d5de5b4 100644 --- a/snippets/samples/code_samples_swap_indexes_1.mdx +++ b/snippets/samples/code_samples_swap_indexes_1.mdx @@ -1,5 +1,25 @@ +```bash cURL +curl \ + -X POST 'MEILISEARCH_URL/swap-indexes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + { + "indexes": [ + "indexA", + "indexB" + ] + }, + { + "indexes": [ + "indexX", + "indexY" + ] + } + ]' +``` + ```javascript JS client.swapIndexes([ { 'indexes': ['indexA', 'indexB'] }, diff --git a/snippets/samples/code_samples_synonyms_guide_1.mdx b/snippets/samples/code_samples_synonyms_guide_1.mdx index 8b6b1f2c3..b8f528c6c 100644 --- a/snippets/samples/code_samples_synonyms_guide_1.mdx +++ b/snippets/samples/code_samples_synonyms_guide_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/synonyms' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "great": ["fantastic"], "fantastic": ["great"] + }' +``` + ```javascript JS client.index('movies').updateSynonyms({ 'great': ['fantastic'], diff --git a/snippets/samples/code_samples_typo_tolerance_guide_1.mdx b/snippets/samples/code_samples_typo_tolerance_guide_1.mdx index 408deb1c4..500211fba 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_1.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "enabled": false }' +``` + ```javascript JS client.index('movies').updateTypoTolerance({ enabled: false diff --git a/snippets/samples/code_samples_typo_tolerance_guide_2.mdx b/snippets/samples/code_samples_typo_tolerance_guide_2.mdx index ea5181d4a..1150ed453 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_2.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_2.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "disableOnAttributes": ["title"] }' +``` + ```javascript JS client.index('movies').updateTypoTolerance({ disableOnAttributes: ['title'] diff --git a/snippets/samples/code_samples_typo_tolerance_guide_3.mdx b/snippets/samples/code_samples_typo_tolerance_guide_3.mdx index fef671fa9..0342bab52 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_3.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_3.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "disableOnWords": [ + "shrek" + ] + }' +``` + ```javascript JS client.index('movies').updateTypoTolerance({ disableOnWords: ['shrek'] diff --git a/snippets/samples/code_samples_typo_tolerance_guide_4.mdx b/snippets/samples/code_samples_typo_tolerance_guide_4.mdx index 0b703ddd2..2b0c0a5e9 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_4.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_4.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "minWordSizeForTypos": { + "oneTypo": 4, + "twoTypos": 10 + } + }' +``` + ```javascript JS client.index('movies').updateTypoTolerance({ minWordSizeForTypos: { diff --git a/snippets/samples/code_samples_typo_tolerance_guide_5.mdx b/snippets/samples/code_samples_typo_tolerance_guide_5.mdx index c7bc19e0c..55582c22b 100644 --- a/snippets/samples/code_samples_typo_tolerance_guide_5.mdx +++ b/snippets/samples/code_samples_typo_tolerance_guide_5.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings/typo-tolerance' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "disableOnNumbers": true + }' +``` + ```javascript JS client.index('movies').updateTypoTolerance({ disableOnNumbers: true diff --git a/snippets/samples/code_samples_update_a_key_1.mdx b/snippets/samples/code_samples_update_a_key_1.mdx index 511421b1a..bf9227003 100644 --- a/snippets/samples/code_samples_update_a_key_1.mdx +++ b/snippets/samples/code_samples_update_a_key_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/keys/6062abda-a5aa-4414-ac91-ecd7944c0f8d' \ + -H 'Authorization: Bearer MASTER_KEY' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "name": "Products/Reviews API key", + "description": "Manage documents: Products/Reviews API key" + }' +``` + ```javascript JS client.updateKey('6062abda-a5aa-4414-ac91-ecd7944c0f8d', { name: 'Products/Reviews API key', diff --git a/snippets/samples/code_samples_update_an_index_1.mdx b/snippets/samples/code_samples_update_an_index_1.mdx index 263ed1ea7..d962419a7 100644 --- a/snippets/samples/code_samples_update_an_index_1.mdx +++ b/snippets/samples/code_samples_update_an_index_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies' \ + -H 'Content-Type: application/json' \ + --data-binary '{ "primaryKey": "id" }' +``` + ```javascript JS client.updateIndex('movies', { primaryKey: 'id' }) ``` diff --git a/snippets/samples/code_samples_update_dictionary_1.mdx b/snippets/samples/code_samples_update_dictionary_1.mdx index f23d4445d..6228f242e 100644 --- a/snippets/samples/code_samples_update_dictionary_1.mdx +++ b/snippets/samples/code_samples_update_dictionary_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/books/settings/dictionary' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "J. R. R.", + "W. E. B." + ]' +``` + ```javascript JS client.index('books').updateDictionary(['J. R. R.', 'W. E. B.']) ``` diff --git a/snippets/samples/code_samples_update_displayed_attributes_1.mdx b/snippets/samples/code_samples_update_displayed_attributes_1.mdx index b9054355a..cd88ed91e 100644 --- a/snippets/samples/code_samples_update_displayed_attributes_1.mdx +++ b/snippets/samples/code_samples_update_displayed_attributes_1.mdx @@ -1,5 +1,17 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/displayed-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "title", + "overview", + "genres", + "release_date" + ]' +``` + ```javascript JS client.index('movies').updateDisplayedAttributes([ 'title', diff --git a/snippets/samples/code_samples_update_distinct_attribute_1.mdx b/snippets/samples/code_samples_update_distinct_attribute_1.mdx index 12a18a05a..d4c75447c 100644 --- a/snippets/samples/code_samples_update_distinct_attribute_1.mdx +++ b/snippets/samples/code_samples_update_distinct_attribute_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/shoes/settings/distinct-attribute' \ + -H 'Content-Type: application/json' \ + --data-binary '"skuid"' +``` + ```javascript JS client.index('shoes').updateDistinctAttribute('skuid') ``` diff --git a/snippets/samples/code_samples_update_embedders_1.mdx b/snippets/samples/code_samples_update_embedders_1.mdx index d06e744fc..89c1458e1 100644 --- a/snippets/samples/code_samples_update_embedders_1.mdx +++ b/snippets/samples/code_samples_update_embedders_1.mdx @@ -1,5 +1,19 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/embedders' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "default": { + "source": "openAi", + "apiKey": "OPEN_AI_API_KEY", + "model": "text-embedding-3-small", + "documentTemplate": "A document titled '{{doc.title}}' whose description starts with {{doc.overview|truncatewords: 20}}" + } + }' +``` + ```javascript JS client.index('INDEX_NAME').updateEmbedders({ default: { diff --git a/snippets/samples/code_samples_update_experimental_features_1.mdx b/snippets/samples/code_samples_update_experimental_features_1.mdx index f2eff78f8..930ca5bb4 100644 --- a/snippets/samples/code_samples_update_experimental_features_1.mdx +++ b/snippets/samples/code_samples_update_experimental_features_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/experimental-features/' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "metrics": true + }' +``` + ```ruby Ruby client.update_experimental_features(metrics: true) ``` 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 ab37d8b8b..bbcbe5a39 100644 --- a/snippets/samples/code_samples_update_facet_search_settings_1.mdx +++ b/snippets/samples/code_samples_update_facet_search_settings_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/INDEX_UID/settings/facet-search' \ + -H 'Content-Type: application/json' \ + --data-binary 'false' +``` + ```javascript JS client.index('INDEX_NAME').updateFacetSearch(false); ``` diff --git a/snippets/samples/code_samples_update_faceting_settings_1.mdx b/snippets/samples/code_samples_update_faceting_settings_1.mdx index 97090df45..5c1ce28ef 100644 --- a/snippets/samples/code_samples_update_faceting_settings_1.mdx +++ b/snippets/samples/code_samples_update_faceting_settings_1.mdx @@ -1,5 +1,18 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/books/settings/faceting' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "maxValuesPerFacet": 2, + "sortFacetValuesBy": { + "*": "alpha", + "genres": "count" + } + }' +``` + ```javascript JS client.index('books').updateFaceting({ maxValuesPerFacet: 2 diff --git a/snippets/samples/code_samples_update_filterable_attributes_1.mdx b/snippets/samples/code_samples_update_filterable_attributes_1.mdx index 1325bc997..280180ef9 100644 --- a/snippets/samples/code_samples_update_filterable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_filterable_attributes_1.mdx @@ -1,5 +1,25 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/filterable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "genres", + "director", + { + "attributePatterns": ["*_ratings"], + "features": { + "facetSearch": false, + "filter": { + "equality": true, + "comparison": false + } + } + } + ]' +``` + ```javascript JS client.index('movies') .updateFilterableAttributes([ diff --git a/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx b/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx index 18a7d7222..68c0ae1d8 100644 --- a/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx +++ b/snippets/samples/code_samples_update_localized_attribute_settings_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/INDEX_NAME/settings/localized-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + {"locales": ["jpn"], "attributePatterns": ["*_ja"]} + ]' +``` + ```javascript JS client.index('INDEX_NAME').updateLocalizedAttributes([ { attributePatterns: ['*_ja'], locales: ['jpn'] }, diff --git a/snippets/samples/code_samples_update_non_separator_tokens_1.mdx b/snippets/samples/code_samples_update_non_separator_tokens_1.mdx index 96de512c0..5af8b65ec 100644 --- a/snippets/samples/code_samples_update_non_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_update_non_separator_tokens_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/articles/settings/non-separator-tokens' \ + -H 'Content-Type: application/json' \ + --data-binary '["@", "#"]' +``` + ```javascript JS client.index('books').updateNonSeparatorTokens(['@', '#']) ``` diff --git a/snippets/samples/code_samples_update_pagination_settings_1.mdx b/snippets/samples/code_samples_update_pagination_settings_1.mdx index d387996c9..e6797da75 100644 --- a/snippets/samples/code_samples_update_pagination_settings_1.mdx +++ b/snippets/samples/code_samples_update_pagination_settings_1.mdx @@ -1,5 +1,14 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/books/settings/pagination' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "maxTotalHits": 100 + }' +``` + ```javascript JS client.index('books').updateSettings({ pagination: { maxTotalHits: 100 }}) ``` 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 8d490ff13..4e4dcd1f6 100644 --- a/snippets/samples/code_samples_update_prefix_search_settings_1.mdx +++ b/snippets/samples/code_samples_update_prefix_search_settings_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/INDEX_UID/settings/prefix-search' \ + -H 'Content-Type: application/json' \ + --data-binary '"disabled"' +``` + ```javascript JS client.index('INDEX_NAME').updatePrefixSearch('disabled'); ``` diff --git a/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx b/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx index e3515d218..c292b7347 100644 --- a/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx +++ b/snippets/samples/code_samples_update_proximity_precision_settings_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/books/settings/proximity-precision' \ + -H 'Content-Type: application/json' \ + --data-binary '"byAttribute"' +``` + ```javascript JS client.index('books').updateProximityPrecision('byAttribute') ``` diff --git a/snippets/samples/code_samples_update_ranking_rules_1.mdx b/snippets/samples/code_samples_update_ranking_rules_1.mdx index c846b14ec..a104e9aac 100644 --- a/snippets/samples/code_samples_update_ranking_rules_1.mdx +++ b/snippets/samples/code_samples_update_ranking_rules_1.mdx @@ -1,5 +1,21 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/ranking-rules' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + "release_date:asc", + "rank:desc" + ]' +``` + ```javascript JS client.index('movies').updateRankingRules([ 'words', diff --git a/snippets/samples/code_samples_update_search_cutoff_1.mdx b/snippets/samples/code_samples_update_search_cutoff_1.mdx index b666d2b15..6e862d15d 100644 --- a/snippets/samples/code_samples_update_search_cutoff_1.mdx +++ b/snippets/samples/code_samples_update_search_cutoff_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/search-cutoff-ms' \ + -H 'Content-Type: application/json' \ + --data-binary '150' +``` + ```javascript JS client.index('movies').updateSearchCutoffMs(150) ``` diff --git a/snippets/samples/code_samples_update_searchable_attributes_1.mdx b/snippets/samples/code_samples_update_searchable_attributes_1.mdx index 82a1ef9d6..210e81eb0 100644 --- a/snippets/samples/code_samples_update_searchable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_searchable_attributes_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/searchable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "title", + "overview", + "genres" + ]' +``` + ```javascript JS client.index('movies').updateSearchableAttributes([ 'title', diff --git a/snippets/samples/code_samples_update_separator_tokens_1.mdx b/snippets/samples/code_samples_update_separator_tokens_1.mdx index a92832437..eaea2524e 100644 --- a/snippets/samples/code_samples_update_separator_tokens_1.mdx +++ b/snippets/samples/code_samples_update_separator_tokens_1.mdx @@ -1,5 +1,12 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/articles/settings/separator-tokens' \ + -H 'Content-Type: application/json' \ + --data-binary '["|", "…"]' +``` + ```javascript JS client.index('books').updateSeparatorTokens(['|', '…']) ``` diff --git a/snippets/samples/code_samples_update_settings_1.mdx b/snippets/samples/code_samples_update_settings_1.mdx index e796291b8..57c219eb5 100644 --- a/snippets/samples/code_samples_update_settings_1.mdx +++ b/snippets/samples/code_samples_update_settings_1.mdx @@ -1,5 +1,65 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/movies/settings' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "rankingRules": [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness", + "release_date:desc", + "rank:desc" + ], + "distinctAttribute": "movie_id", + "searchableAttributes": [ + "title", + "overview", + "genres" + ], + "displayedAttributes": [ + "title", + "overview", + "genres", + "release_date" + ], + "stopWords": [ + "the", + "a", + "an" + ], + "sortableAttributes": [ + "title", + "release_date" + ], + "synonyms": { + "wolverine": [ + "xmen", + "logan" + ], + "logan": ["wolverine"] + }, + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 8, + "twoTypos": 10 + }, + "disableOnAttributes": ["title"] + }, + "pagination": { + "maxTotalHits": 5000 + }, + "faceting": { + "maxValuesPerFacet": 200 + }, + "searchCutoffMs": 150 + }' +``` + ```javascript JS client.index('movies').updateSettings({ rankingRules: [ diff --git a/snippets/samples/code_samples_update_sortable_attributes_1.mdx b/snippets/samples/code_samples_update_sortable_attributes_1.mdx index a87dc6201..d17b6fb93 100644 --- a/snippets/samples/code_samples_update_sortable_attributes_1.mdx +++ b/snippets/samples/code_samples_update_sortable_attributes_1.mdx @@ -1,5 +1,15 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/books/settings/sortable-attributes' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "price", + "author" + ]' +``` + ```javascript JS client.index('books') .updateSortableAttributes([ diff --git a/snippets/samples/code_samples_update_stop_words_1.mdx b/snippets/samples/code_samples_update_stop_words_1.mdx index 63fcfeb96..59ea60b88 100644 --- a/snippets/samples/code_samples_update_stop_words_1.mdx +++ b/snippets/samples/code_samples_update_stop_words_1.mdx @@ -1,5 +1,16 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/stop-words' \ + -H 'Content-Type: application/json' \ + --data-binary '[ + "the", + "of", + "to" + ]' +``` + ```javascript JS client.index('movies').updateStopWords(['of', 'the', 'to']) ``` diff --git a/snippets/samples/code_samples_update_synonyms_1.mdx b/snippets/samples/code_samples_update_synonyms_1.mdx index d8a48f617..b71b15f4e 100644 --- a/snippets/samples/code_samples_update_synonyms_1.mdx +++ b/snippets/samples/code_samples_update_synonyms_1.mdx @@ -1,5 +1,22 @@ +```bash cURL +curl \ + -X PUT 'MEILISEARCH_URL/indexes/movies/settings/synonyms' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "wolverine": [ + "xmen", + "logan" + ], + "logan": [ + "wolverine", + "xmen" + ], + "wow": ["world of warcraft"] + }' +``` + ```javascript JS client.index('movies').updateSynonyms({ wolverine: ['xmen', 'logan'], diff --git a/snippets/samples/code_samples_update_typo_tolerance_1.mdx b/snippets/samples/code_samples_update_typo_tolerance_1.mdx index a4d9e6e2f..2e2fb3914 100644 --- a/snippets/samples/code_samples_update_typo_tolerance_1.mdx +++ b/snippets/samples/code_samples_update_typo_tolerance_1.mdx @@ -1,5 +1,18 @@ +```bash cURL +curl \ + -X PATCH 'MEILISEARCH_URL/indexes/books/settings/typo-tolerance' \ + -H 'Content-Type: application/json' \ + --data-binary '{ + "minWordSizeForTypos": { + "oneTypo": 4, + "twoTypos": 10 + }, + "disableOnAttributes": ["title"] + }' +``` + ```javascript JS client.index('books').updateTypoTolerance({ minWordSizeForTypos: {