values multiple fields example aggregations elasticsearch aggregation

multiple - elasticsearch aggregation term



Mostrar todos los resultados/cubos de agregaciĆ³n de Elasticsearch y no solo 10 (3)

¿Cómo mostrar todos los cubos?

{ "size": 0, "aggs": { "aggregation_name": { "terms": { "field": "your_field", "size": 10000 } } } }

Nota

  • "size":10000 Obtenga como máximo 10000 cubos. El valor predeterminado es 10.

  • "size":0 En resultado, "hits" contiene 10 documentos por defecto. No los necesitamos

  • De forma predeterminada, doc_count ordena los doc_count en orden decreciente.

¿Por qué Fielddata is disabled on text fields by default error Fielddata is disabled on text fields by default ?

Porque los datos de campo están desactivados en los campos de texto de forma predeterminada . Si no ha elegido explícitamente una asignación de tipo de campo, tiene las asignaciones dinámicas predeterminadas para los campos de cadena .

Entonces, en lugar de escribir "field": "your_field" necesitas tener "field": "your_field.keyword" .

Estoy intentando enumerar todos los depósitos en una agregación, pero parece mostrar solo los primeros 10.

Mi búsqueda:

curl -XPOST "http://localhost:9200/imoveis/_search?pretty=1" -d'' { "size": 0, "aggregations": { "bairro_count": { "terms": { "field": "bairro.raw" } } } }''

Devoluciones:

{ "took" : 2, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 }, "hits" : { "total" : 16920, "max_score" : 0.0, "hits" : [ ] }, "aggregations" : { "bairro_count" : { "buckets" : [ { "key" : "Barra da Tijuca", "doc_count" : 5812 }, { "key" : "Centro", "doc_count" : 1757 }, { "key" : "Recreio dos Bandeirantes", "doc_count" : 1027 }, { "key" : "Ipanema", "doc_count" : 927 }, { "key" : "Copacabana", "doc_count" : 842 }, { "key" : "Leblon", "doc_count" : 833 }, { "key" : "Botafogo", "doc_count" : 594 }, { "key" : "Campo Grande", "doc_count" : 456 }, { "key" : "Tijuca", "doc_count" : 361 }, { "key" : "Flamengo", "doc_count" : 328 } ] } } }

Tengo muchas más de 10 claves para esta agregación. En este ejemplo, tendría 145 claves, y quiero el conteo de cada una de ellas. ¿Hay alguna paginación en cubos? ¿Puedo obtener todos?

Estoy usando Elasticsearch 1.1.0


El parámetro param debe ser un parámetro para el ejemplo de consulta de términos:

curl -XPOST "http://localhost:9200/imoveis/_search?pretty=1" -d'' { "size": 0, "aggregations": { "bairro_count": { "terms": { "field": "bairro.raw", "size": 0 } } } }''

Como se menciona en el documento, solo funciona para la versión 1.1.0 en adelante

Editar

Actualizando la respuesta basada en @PhaedrusTheGreek comment.

size:0 configuración size:0 está obsoleto en 2.x en adelante, debido a problemas de memoria infligidos en su clúster con valores de campo de cardinalidad alta. Puedes leer más sobre esto en el tema de Github aquí .

Se recomienda establecer explícitamente un valor razonable para el size un número entre 1 y 2147483647.