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.