11# This code-samples file is used by the Meilisearch documentation
22# Every example written here will be automatically fetched by
33# the documentation on build
4- # You can read more on https://github.com/meilisearch/documentation/tree/master/.vuepress/code-samples
4+ # You can read more on https://github.com/meilisearch/documentation/tree/main/learn
55---
66synonyms_guide_1 : |-
77 let mut synonyms = std::collections::HashMap::new();
@@ -315,7 +315,7 @@ update_settings_1: |-
315315 "release_date:desc",
316316 "rank:desc"
317317 ])
318- .with_distinct_attribute("movie_id")
318+ .with_distinct_attribute(Some( "movie_id") )
319319 .with_searchable_attributes([
320320 "title",
321321 "overview",
@@ -599,6 +599,24 @@ reset_faceting_settings_1: |-
599599 .reset_faceting()
600600 .await
601601 .unwrap();
602+ get_dictionary_1 : |-
603+ let task: TaskInfo = client
604+ .index('books')
605+ .get_dictionary()
606+ .await
607+ .unwrap();
608+ update_dictionary_1 : |-
609+ let task: TaskInfo = client
610+ .index('books')
611+ .set_dictionary(['J. R. R.', 'W. E. B.'])
612+ .await
613+ .unwrap();
614+ reset_dictionary_1 : |-
615+ let task: TaskInfo = client
616+ .index('books')
617+ .reset_dictionary()
618+ .await
619+ .unwrap();
602620get_index_stats_1 : |-
603621 let stats: IndexStats = client
604622 .index("movies")
@@ -654,7 +672,7 @@ field_properties_guide_displayed_1: |-
654672 .unwrap();
655673filtering_guide_1 : |-
656674 let results: SearchResults<Movie> = client
657- .index("movies ")
675+ .index("movie_ratings ")
658676 .search()
659677 .with_query("Avengers")
660678 .with_filter("release_date > 795484800")
@@ -663,7 +681,7 @@ filtering_guide_1: |-
663681 .unwrap();
664682filtering_guide_2 : |-
665683 let results: SearchResults<Movie> = client
666- .index("movies ")
684+ .index("movie_ratings ")
667685 .search()
668686 .with_query("Batman")
669687 .with_filter(r#"release_date > 795484800 AND (director = "Tim Burton" OR director = "Christopher Nolan")"#)
@@ -672,10 +690,10 @@ filtering_guide_2: |-
672690 .unwrap();
673691filtering_guide_3 : |-
674692 let results: SearchResults<Movie> = client
675- .index("movies ")
693+ .index("movie_ratings ")
676694 .search()
677695 .with_query("Planet of the Apes")
678- .with_filter(r#"rating >= 3 AND (NOT director = "Tim Burton")"#)
696+ .with_filter(r#"release_date > 1577884550 AND (NOT director = "Tim Burton")"#)
679697 .execute()
680698 .await
681699 .unwrap();
@@ -696,6 +714,15 @@ search_parameter_guide_query_1: |-
696714 .execute()
697715 .await
698716 .unwrap();
717+ search_parameter_guide_attributes_to_search_on_1 : |-
718+ let results: SearchResults<Movie> = client
719+ .index("movies")
720+ .search()
721+ .with_query("adventure")
722+ .with_attributes_to_search_on(&["overview"])
723+ .execute()
724+ .await
725+ .unwrap();
699726search_parameter_guide_offset_1 : |-
700727 let results: SearchResults<Movie> = client
701728 .index("movies")
@@ -807,6 +834,15 @@ search_parameter_guide_show_matches_position_1: |-
807834 .iter()
808835 .map(|r| r.matches_position.as_ref().unwrap())
809836 .collect();
837+ search_parameter_guide_show_ranking_score_1 : |-
838+ let results: SearchResults<Movie> = client
839+ .index("movies")
840+ .search()
841+ .with_query("dragon")
842+ .with_show_ranking_score(true)
843+ .execute()
844+ .await
845+ .unwrap();
810846search_parameter_guide_matching_strategy_1 : |-
811847 let results: SearchResults<Movie> = client
812848 .index("movies")
@@ -829,38 +865,6 @@ search_parameter_guide_hitsperpage_1: |-
829865 client.index("movies").search().with_hits_per_page(15).execute().await?;
830866search_parameter_guide_page_1 : |-
831867 client.index("movies").search().with_page(2).execute().await?;
832- settings_guide_filterable_attributes_1 : |-
833- let settings = Settings::new()
834- .with_filterable_attributes([
835- "director",
836- "genres"
837- ]);
838-
839- let task: TaskInfo = client
840- .index("movies")
841- .set_settings(&settings)
842- .await
843- .unwrap();
844- settings_guide_typo_tolerance_1 : |-
845- let min_word_size_for_typos = MinWordSizeForTypos {
846- one_typo: Some(5),
847- two_typos: Some(12)
848- }
849- let typo_tolerance = TypoToleranceSettings {
850- enabled: Some(true),
851- disable_on_attributes: None,
852- disable_on_words: Some(vec!["title".to_string()]),
853- min_word_size_for_typos: Some(min_word_size_for_typos),
854- };
855-
856- let settings = Settings::new()
857- .with_typo_tolerance(&typo_tolerance);
858-
859- let task: TaskInfo = client
860- .index("movies")
861- .set_settings(&settings)
862- .await
863- .unwrap();
864868typo_tolerance_guide_1 : |-
865869 let typo_tolerance = TypoToleranceSettings {
866870 enabled: Some(false),
@@ -956,25 +960,6 @@ add_movies_json_1: |-
956960 .await
957961 .unwrap();
958962 })}
959- documents_guide_add_movie_1 : |-
960- // Define the type of our documents
961- #[derive(Serialize, Deserialize)]
962- struct IncompleteMovie {
963- id: String,
964- title: String
965- }
966-
967- // Add a document to our index
968- let task: TaskInfo = client
969- .index("movies")
970- .add_documents(&[
971- IncompleteMovie {
972- id: "123sq178".to_string(),
973- title: "Amélie Poulain".to_string(),
974- }
975- ], None)
976- .await
977- .unwrap();
978963primary_field_guide_update_document_primary_key : |-
979964 let task = IndexUpdater::new("books", &client)
980965 .with_primary_key("title")
@@ -1012,7 +997,7 @@ primary_field_guide_add_document_primary_key: |-
1012997getting_started_add_documents_md : |-
1013998 ```toml
1014999 [dependencies]
1015- meilisearch-sdk = "0.24 .1"
1000+ meilisearch-sdk = "0.26 .1"
10161001 # futures: because we want to block on futures
10171002 futures = "0.3"
10181003 # serde: required if you are going to use documents
@@ -1179,11 +1164,6 @@ getting_started_update_displayed_attributes: |-
11791164 .set_displayed_attributes(&displayed_attributes)
11801165 .await
11811166 .unwrap();
1182- getting_started_communicating_with_a_protected_instance : |-
1183- let client = Client::new("http://localhost:7700", Some("apiKey"));
1184- client
1185- .index("movies")
1186- .search()
11871167getting_started_add_meteorites : |-
11881168 use serde::{Serialize, Deserialize};
11891169 use std::fs::File;
@@ -1286,28 +1266,6 @@ filtering_update_settings_1: |-
12861266 .set_filterable_attributes(["director", "genres"])
12871267 .await
12881268 .unwrap();
1289- faceted_search_filter_1 : |-
1290- let results: SearchResults<Movie> = client
1291- .index("movies")
1292- .search()
1293- .with_query("thriller")
1294- .with_filter("(genres = Horror AND genres = Mystery) OR director = \"Jordan Peele\"")
1295- .execute()
1296- .await
1297- .unwrap();
1298- faceted_search_facets_1 : |-
1299- let results: SearchResults<Movie> = client
1300- .index("movies")
1301- .search()
1302- .with_query("Batman")
1303- .with_facets(Selectors::Some(&["genres"]))
1304- .execute()
1305- .await
1306- .unwrap();
1307- let genres: &HashMap<String, usize> = results
1308- .facet_distribution.unwrap()
1309- .get("genres")
1310- .unwrap();
13111269faceted_search_walkthrough_filter_1 : |-
13121270 let results: SearchResults<Movie> = client
13131271 .index("movies")
@@ -1319,7 +1277,7 @@ faceted_search_walkthrough_filter_1: |-
13191277 .unwrap();
13201278faceted_search_update_settings_1 : |-
13211279 let task: TaskInfo = client
1322- .index("books ")
1280+ .index("movie_ratings ")
13231281 .set_filterable_attributes(&["genres", "rating", "language"])
13241282 .await
13251283 .unwrap();
@@ -1332,29 +1290,6 @@ faceted_search_1: |-
13321290 .execute()
13331291 .await
13341292 .unwrap();
1335- faceted_search_2 : |-
1336- let books = client.index("books");
1337- let search_query_1 = SearchQuery::new(&books)
1338- .with_facets(Selectors::Some(&["language", "genres", "author", "format"]))
1339- .with_filter("(language = English OR language = French) AND genres = Fiction")
1340- .build();
1341- let search_query_2 = SearchQuery::new(&books)
1342- .with_facets(Selectors::Some(&["language"]))
1343- .with_filter("genres = Fiction")
1344- .build();
1345- let search_query_3 = SearchQuery::new(&books)
1346- .with_facets(Selectors::Some(&["genres"]))
1347- .with_filter("language = English OR language = French")
1348- .build();
1349-
1350- let books_response = client
1351- .multi_search()
1352- .with_search_query(search_query_1)
1353- .with_search_query(search_query_2)
1354- .with_search_query(search_query_3)
1355- .execute::<Book>()
1356- .await
1357- .unwrap();
13581293post_dump_1 : |-
13591294 client
13601295 .create_dump()
@@ -1501,7 +1436,7 @@ geosearch_guide_filter_usage_3: |-
15011436 let results: SearchResults<Restaurant> = client
15021437 .index("restaurants")
15031438 .search()
1504- .with_filter("_geoBoundingBox([45.494181, 9.179175 ], [45.449484, 9.214024 ])")
1439+ .with_filter("_geoBoundingBox([45.494181, 9.214024 ], [45.449484, 9.179175 ])")
15051440 .execute()
15061441 .await
15071442 .unwrap();
@@ -1635,6 +1570,8 @@ tenant_token_guide_search_sdk_1: |-
16351570 .unwrap();
16361571multi_search_1 : |-
16371572 let movie = client.index("movie");
1573+ let movie_ratings = client.index("movie_ratings");
1574+
16381575 let search_query_1 = SearchQuery::new(&movie)
16391576 .with_query("pooh")
16401577 .with_limit(5)
@@ -1643,24 +1580,62 @@ multi_search_1: |-
16431580 .with_query("nemo")
16441581 .with_limit(5)
16451582 .build();
1583+ let search_query_3 = SearchQuery::new(&movie_ratings)
1584+ .with_query("us")
1585+ .build();
16461586
1647- let movie_response = client
1587+ let response = client
16481588 .multi_search()
16491589 .with_search_query(search_query_1)
16501590 .with_search_query(search_query_2)
1651- .execute::<Movie>()
1591+ .with_search_query(search_query_3)
1592+ .execute::<Document>()
16521593 .await
16531594 .unwrap();
1654-
1655- let movie_ratings = client.index("movie_ratings");
1656- let search_query_3 = SearchQuery::new(&movie_ratings)
1657- .with_query("us")
1658- .build();
1659-
1660- let movie_ratings_response = client
1661- .multi_search()
1662- .with_search_query(search_query_3)
1663- .execute::<MovieRatings>()
1595+ get_experimental_features_1 : |-
1596+ let client = Client::new("http://localhost:7700", Some("apiKey"));
1597+ let features = ExperimentalFeatures::new(&client);
1598+ let res = features
1599+ .get()
1600+ .await
1601+ .unwrap();
1602+ update_experimental_features_1 : |-
1603+ let client = Client::new("http://localhost:7700", Some("apiKey"));
1604+ let mut features = ExperimentalFeatures::new(&client);
1605+ features.set_vector_store(true);
1606+ let res = features
1607+ .update()
1608+ .await
1609+ .unwrap();
1610+ search_parameter_guide_facet_stats_1 : |-
1611+ let books = client.index("movie_ratings");
1612+ let results: SearchResults<Book> = SearchQuery::new(&books)
1613+ .with_query("Batman")
1614+ .with_facets(Selectors::Some(&["genres", "rating"))
1615+ .execute()
1616+ .await
1617+ .unwrap();
1618+ get_proximity_precision_settings_1 : |-
1619+ let proximity_precision: String = client
1620+ .index("books")
1621+ .get_proximity_precision()
1622+ .await
1623+ .unwrap();
1624+ update_proximity_precision_settings_1 : |-
1625+ let task: TaskInfo = client
1626+ .index("books")
1627+ .set_proximity_precision("byAttribute".to_string())
1628+ .await
1629+ .unwrap();
1630+ reset_proximity_precision_settings_1 : |-
1631+ let task: TaskInfo = client
1632+ .index("books")
1633+ .reset_proximity_precision()
1634+ .await
1635+ .unwrap();
1636+ create_snapshot_1 : |-
1637+ client
1638+ .create_snapshot()
16641639 .await
16651640 .unwrap();
16661641facet_search_2 : |-
0 commit comments