diff --git a/reference/api/search.mdx b/reference/api/search.mdx index c5aeafa0ba..f8eadca888 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 diff --git a/snippets/samples/code_samples_add_movies_json_1.mdx b/snippets/samples/code_samples_add_movies_json_1.mdx index 414246df01..068206c70c 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 13ae38b9dc..7d9fb5a7f1 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 a3c1cd3dda..53a1dd5260 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 2fe51dc2b2..98595a358c 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 1f22bd3bd0..4f89b156e7 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 60e30700be..7412dfadb6 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 f67d373024..70c2bcdc9d 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 9c7b7d2430..7b5255a440 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 b73c1095ba..9ecaed4cf9 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 79aa98f987..32732e6004 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 3aef704a28..9a2a53b200 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) } @@ -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 diff --git a/snippets/samples/code_samples_getting_started_add_meteorites.mdx b/snippets/samples/code_samples_getting_started_add_meteorites.mdx index 90a4cf556a..77373581e9 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 49d15df9ec..b353fed743 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 1c30ac8015..6d8ecc6272 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 6733ece79f..55582c22bf 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 e5319e8fef..280180ef98 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) ```