English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Esta API se utiliza para buscar contenido en Elasticsearch. Los usuarios pueden realizar búsquedas enviando una solicitud GET con una cadena de consulta como parámetro o publicando la consulta en el cuerpo del mensaje de la solicitud. La API de búsqueda es principalmente para múltiples índices y múltiples tipos.
Elasticsearch nos permite buscar todos los índices o algunos índices específicos que contienen documentos. Por ejemplo, si necesitamos buscar todos los documentos que contienen el nombre "central", podemos realizar la siguiente operación:
GET /_all/_search?q=city:paprola
Al ejecutar el código anterior, obtenemos la siguiente respuesta-
{ "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" } } ] } }
Se pueden pasar muchos parámetros en la operación de búsqueda utilizando identificadores de recursos uniformes-
Número de serie | Parámetros y descripciones |
---|---|
1 | Q Este parámetro se utiliza para especificar la cadena de consulta |
2 | lenient Este parámetro se utiliza para especificar la cadena de consulta. Si se establece este parámetro en true, se pueden ignorar los errores basados en Formatbased. Por defecto es falso. |
3 | fields Este parámetro se utiliza para especificar la cadena de consulta |
4 | sort Podemos usar este parámetro para obtener los resultados de clasificación, los posibles valores de este parámetro son fieldName, fieldName:asc/ fieldName:desc |
5 | timeout Podemos usar este parámetro para limitar el tiempo de búsqueda y la respuesta solo contiene coincidencias dentro del tiempo especificado. Sin timeout por defecto. |
6 | terminate_after Podemos limitar la respuesta a la cantidad especificada de documentos por fragmento, y la consulta finalizará anticipadamente cuando se alcance el fragmento. Sin "terminate_after" por defecto. |
7 | from Índice de inicio de la cantidad de coincidencias a devolver. El valor predeterminado es 0. |
8 | size Representa la cantidad de coincidencias a devolver, el valor predeterminado es10. |
Además, podemos usar DSL de consulta en el cuerpo de la solicitud para especificar la consulta, y se han proporcionado muchos ejemplos en capítulos anteriores. Aquí hay un ejemplo de este tipo-
POST /schools/_search { "query": { "query_string": { "query": "up" } } }
Al ejecutar el código anterior, obtenemos la siguiente respuesta-
{ "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" : [ "completamente automatizado" ], "rating" : "4.5" } } ] } }