Como usar o elasticsearch query_string

Como usar o elasticsearch query_string
A sequência de consulta Elasticsearch permite buscar documentos com base em uma string de consulta especificada.

O query_string usa um analisador com sintaxe estrita. Portanto, ele retorna um erro se o termo de consulta fornecido contém sintaxe incorreta. Isso é diferente da corda de consulta simples.

Vejamos como podemos usar o query_string no Elasticsearch.

Para entender como usar a consulta Query_string, veremos alguns exemplos.

Elasticsearch Query_string Usage Exemplos

Neste tutorial, usaremos o Índice Global Kibana_sample_data_flights.

Exemplo 1

Suponha que queremos buscar os documentos em que o nome de destino é Denver? Podemos criar uma consulta simples como:

Get /kibana_sample_data_flights /_search?Q = DestcityName: Denver

O exemplo é uma consulta simples que pesquisa no campo DestcityName, onde o valor é Denver.

Aqui está uma ilustração do exemplo resultante de registros:

Também podemos implementar a consulta acima usando o parâmetro query_string, como mostrado abaixo:

Get /kibana_sample_data_flights /_search

"consulta":
"Query_string":
"Default_field": "DestcityName",
"Query": "Denver"


O exemplo acima executa uma funcionalidade semelhante à única liner mostrada anteriormente. No entanto, o acima é mais legível e fácil de expandir e aplicar filtros.

Exemplo 2

Também podemos usar operadores booleanos como onde o DestcityName é Denver ou Sydney.

Para fazer isso, podemos realizar uma consulta como:

Get /kibana_sample_data_flights /_search

"consulta":
"Query_string":
"Default_field": "DestcityName",
"Query": "(Sydney) ou (Denver)"


No exemplo acima, o nome do DestcityName pode ser Denver ou Sydney.

Exemplo de saída:

Exemplo 3

Suponha que você queira obter os documentos onde o tempo de voo é superior a 10 horas, mas menos de 15 horas.

Nesse exemplo, podemos usar boolean e como mostrado:

Get /kibana_sample_data_flights /_search

"consulta":
"Query_string":
"Default_field": "FlightTimeHour",
"Query": "(> = 10) e (<=15)"


Os documentos resultantes incluem:

Exemplo 4

Suponha que queremos pesquisar vários campos? Podemos passar pelos campos de destino usando os campos em uma matriz como:

Get /kibana_sample_data_flights /_search

"consulta":
"Query_string":
"Fields": ["DestcityName", "Destweather"],
"Query": "Denver e Rain"


No exemplo acima, procuramos documentos em que o nome de destino é Denver e Destweather é chuva.

Podemos obter resultados de exemplo como:

Fechamento

Este guia ensinou você a usar a consulta Elasticsearch query_string para buscar documentos que correspondam a uma sequência de consulta específica.