Elasticsearch range consulta tutorial

Elasticsearch range consulta tutorial
No Elasticsearch, podemos obter os resultados de documentos que correspondem a um intervalo específico usando a consulta de intervalo.

Ao longo deste guia, você aprenderá a definir um parâmetro de intervalo em sua consulta de pesquisa usando expressões booleanas, como maior que, menor que e mais.

Elasticsearch range consulta: uso básico

Para especificar um intervalo específico em uma consulta de pesquisa, podemos usar o parâmetro de intervalo seguido pelo campo e as condições para verificar.

Veja a consulta abaixo que retorna os documentos em que o campo AvgticketPrice é superior a 600 e menos de 800

Get /kibana_sample_data_flights /_search

"consulta":
"faixa":
"Avgticketprice":
"GTE": 600,
"LTE": 800



Abaixo está o exemplo, os resultados de retorno:

Compreendendo a consulta

No exemplo acima, definimos o intervalo na consulta. A palavra -chave do intervalo requer o parâmetro de campo, que define o campo para pesquisar.

Em seguida, continuamos a definir o parâmetro para o campo. Estas são condições booleanas, como:

  1. GT - maior que
  2. GTE - maior ou igual a
  3. LT - Menos que
  4. LTE - menor ou igual a

Consultando um intervalo de tempo

Se o campo que você deseja pesquisar for da data do tipo, você pode usar os condicionais acima seguidos pela data de matemática definida no recurso abaixo:

Elasticsearch Date Docums de matemática

Considere o seguinte valor que usa o parâmetro time_zone para converter o tempo para o valor UTC e pesquisar um intervalo.

Get /kibana_sample_data_flights /_search

"consulta":
"faixa":
"Timestamp":
"time_zone": "+03: 00",
"GTE": "2021-10-14T05: 22: 14",
"LTE": "agora"



A consulta acima deve retornar os documentos onde o registro de data e hora é maior que 2021-10-14 às 05:22:14.

Aqui estão os resultados do exemplo:

OBSERVAÇÃO: time_zone não afeta o parâmetro agora.

Maior que

Você não precisa combinar os condicionais, como maior e menor que; Você pode usar um intervalo individual, conforme mostrado no exemplo abaixo:

Get /kibana_sample_data_flights /_search

"consulta":
"faixa":
"Distancemiles":
"GTE": 10000



O exemplo acima retorna os documentos onde as distancies são maiores que 10000.

A resposta está abaixo:

boleano

Para verificar se o tipo de campo é um valor booleano, você pode usar LTE ou GTE. Por exemplo, para obter os documentos para voos cancelados, podemos executar uma solicitação como:

Get /kibana_sample_data_flights /_search

"consulta":
"faixa":
"Cancelado":
"gte": verdadeiro



No exemplo acima, passamos o alcance para verificar como um verdadeiro booleano.

Os resultados são como mostrados:

Fechamento

Neste guia, você aprendeu a usar a consulta Range em Elasticsearch para filtrar para obter resultados que correspondem a uma faixa específica.