English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cette API est utilisée pour rechercher du contenu dans Elasticsearch. Les utilisateurs peuvent rechercher en envoyant une requête GET avec une chaîne de recherche en tant que paramètre, ou publier une requête en publiant le texte du message de la requête. L'API de recherche est principalement utilisée pour plusieurs index et plusieurs types.
Elasticsearch nous permet de rechercher tous les documents existants dans toutes les index ou certains index spécifiques. Par exemple, si nous devons rechercher tous les documents dont le nom contient 'central', nous pouvons effectuer l'opération suivante :
GET /_all/_search?q=city:paprola
Lors de l'exécution du code ci-dessus, nous obtenons la réponse suivante-
{ "took": 33, "timed_out": false, "_shards": { "total": 7, "successful": 7, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.9808292, "hits": [ { "_index": "schools", "_type": "school", "_id": ""5", "_score": 0.9808292, "_source" : {" "name": "Central School" "description": "CBSE Affiliation", "street": "Nagan", "city": "paprola", "state": "HP", "zip" : "176115", "location" : [ 31.8955385, 76.8380405 ], "fees" : 2200, "tags" : [ "Senior Secondary", "beautiful campus" ], "rating" : "3.3" } } ] } }
De nombreux paramètres peuvent être transmis dans les opérations de recherche à l'aide d'un identificateur de ressource uniforme-
Numéro | Paramètres et descriptions |
---|---|
1 | Q Ce paramètre est utilisé pour spécifier la chaîne de recherche |
2 | lenient Ce paramètre est utilisé pour spécifier la chaîne de recherche. Si ce paramètre est défini sur true, les erreurs basées sur Formatbased peuvent être ignorées. Par défaut, il est faux. |
3 | fields Ce paramètre est utilisé pour spécifier la chaîne de recherche |
4 | sort Nous pouvons utiliser ce paramètre pour obtenir le résultat de tri, les valeurs possibles étant fieldName, fieldName:asc/ fieldName:desc |
5 | timeout Nous pouvons utiliser ce paramètre pour limiter le temps de recherche, et la réponse ne contient que les hits spécifiés dans le temps. Par défaut, il n'y a pas de délai d'attente |
6 | terminate_after Nous pouvons limiter la réponse aux documents d'un nombre spécifié de fragments, et la recherche est interrompue prématurément lorsque le fragment atteint. Par défaut, il n'y a pas de termin_after. |
7 | from L'index de départ du nombre de hits à renvoyer. La valeur par défaut est 0. |
8 | size Il représente le nombre de hits à renvoyer, la valeur par défaut étant10. |
Nous pouvons également utiliser le DSL de requête dans le corps de la requête pour spécifier la recherche, et de nombreux exemples ont été fournis dans les chapitres précédents. Voici un tel exemple-
POST /schools/_search { "query": { "query_string": { "query": "up" } } }
Lors de l'exécution du code ci-dessus, nous obtenons la réponse suivante-
{ "took": 11, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.47000363, "hits": [ { "_index": "schools", "_type": "school", "_id": ""4", "_score": 0.47000363, "_source" : {" "name" : "City Best School", "description" : "ICSE", "street" : "West End", "city" : "Meerut", "state" : "UP", "zip" : "250002", "location" : [ 28.9926174, 77.692485 ], "fees" : 3500, "tags" : [ "fully computerized" ], "rating" : "4.5" } } ] } }