Como faço para classificar em elasticsearch?

Como faço para classificar em elasticsearch?
Você pode classificar os resultados do Elasticsearch usando a palavra -chave de classificação. A consulta de classificação exige que você forneça um campo sob o qual classificar. Elasticsearch não suporta a classificação em campos de texto de tipo.

Neste curto guia, veremos como classificar os resultados da consulta em elasticsearch.

Uso básico

Você pode classificar os resultados usando um método de linha em uma consulta. Por exemplo:

Get /kibana_sample_data_flights /_search?q= DestcityName: Denver & Sort = avgticketPrice

Na consulta de exemplo acima, buscamos todos os documentos em que o campo de campo é igual a Denver e depois classificamos os resultados no preço do avgticket.

A consulta resultante deve incluir os documentos em que a cidade é Denver, com os preços dos ingressos classificados em ordem crescente.

Exemplo de saída é como mostrado:

Embora o método de uma linha possa ser útil quando você precisar executar uma classificação rápida, ele não é muito legível e pode ficar complicado quando você precisar classificar vários campos.

Para resolver isso, você pode usar o método de consulta de Elasticsearch recomendado. Por exemplo, podemos escrever a consulta acima como:

Get /kibana_sample_data_flights /_search

"consulta":
"corresponder":
"DestcityName": "Denver"


, "organizar": [

"Avgticketprice":
"Ordem": "ASC"


]

Esta consulta funciona de maneira semelhante ao método de uma linha mostrado acima. No entanto, é mais descritivo e mais legível.

Classificar por ordem ascendente

Para mudar por ordem reversa, você pode alterar a ordem de ASC para Desc, que classificará os valores do mais alto para o mais baixo, como mostrado:

Get /kibana_sample_data_flights /_search

"consulta":
"corresponder":
"DestcityName": "Denver"


, "organizar": [

"Avgticketprice":
"Ordem": "Desc"


]

A saída de exemplo é como mostrado:

Classificação geográfica da distância

Elasticsearch permite classificar por informações geográficas usando o parâmetro _geo_distance. Por exemplo, considere a seguinte consulta:

Get /kibana_sample_data_flights /_search

"consulta":
"corresponder":
"Destcountry": "nós"

,
"organizar": [

"_geo_distance":
"OriginLocation":
"Lat": 30,
"Lon": -103
,
"Ordem": "Desc"


]

A consulta acima deve retornar os registros onde o país de destino é igual aos EUA e o local está dentro da faixa de latitude e longitude especificada.

Classificar por tipo de texto

A classificação não se limita a valores numéricos, você classifica por texto como:

Get /kibana_sample_data_flights /_search

"consulta":
"corresponder":
"DestcityName": "Sydney"

,
"organizar": [

"Operadora":
"Ordem": "Desc"


]

Conclusão

Neste tutorial, abordamos como classificar os resultados de uma consulta Elasticsearch usando a palavra -chave Classificar. Verifique a documentação para saber mais.