English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Esta API é usada para buscar conteúdo no Elasticsearch. O usuário pode realizar uma busca enviando uma solicitação GET com uma string de consulta como parâmetro ou pode publicar a consulta no corpo da mensagem da solicitação. A busca via API é principalmente para múltiplos índices e múltiplos tipos.
O Elasticsearch nos permite buscar todos os documentos existentes em todos os índices ou em alguns índices específicos. Por exemplo, se precisarmos buscar todos os documentos cujo nome contém "central", podemos executar a seguinte operação:
GET /_all/_search?q=city:paprola
Ao executar o código acima, obtemos a seguinte resposta-
{ "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": { "nome": "Escola Central" "descrição": "CBSE Affiliate", "rua": "Nagan", "cidade": "paprola", "estado": "HP", "zip": ""176115", "location": [ 31.8955385, 76.8380405 ], "fees": 2200, "tags": [ "Ensino Médio", "belo campus" ], "rating": ""3.3" } } ] } }
Muitos parâmetros podem ser passados na operação de pesquisa usando o identificador de recurso uniforme-
Número | Parâmetros e descrições |
---|---|
1 | Q Este parâmetro é usado para especificar a string de consulta |
2 | lenient Este parâmetro é usado para especificar a string de consulta. Ao definir esse parâmetro como true, podemos ignorar os erros baseados em Formatbased. O padrão é falso. |
3 | fields Este parâmetro é usado para especificar a string de consulta |
4 | sort Podemos usar esse parâmetro para obter o resultado da classificação, os valores possíveis são fieldName, fieldName:asc/ fieldName:desc |
5 | timeout Podemos usar esse parâmetro para limitar o tempo de pesquisa e a resposta contém apenas as ocorrências especificadas no tempo. O padrão não há timeout |
6 | terminate_after Podemos limitar a resposta para o número especificado de documentos por fragmento e a consulta será encerrada antecipadamente ao alcançar o fragmento. O padrão não tem "termin_after". |
7 | from O índice de início do número de ocorrências a serem retornadas. O valor padrão é 0. |
8 | size Ele representa o número de ocorrências a serem retornadas, o valor padrão é10。 |
Podemos usar o DSL de consulta na requisição para especificar a consulta e muitos exemplos foram fornecidos nos capítulos anteriores. Aqui está um exemplo desse tipo-
POST /schools/_search { "query": { "query_string": { "query": "up" } } }
Ao executar o código acima, obtemos a seguinte resposta-
{ "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" } } ] } }