Afficher tous les Elasticsearch résultats de l'agrégation/seaux et pas seulement 10
Je suis en train de faire la liste de tous les seaux sur une agrégation, mais il semble montrer seulement les 10 premiers.
Ma recherche:
curl -XPOST "http://localhost:9200/imoveis/_search?pretty=1" -d'
{
"size": 0,
"aggregations": {
"bairro_count": {
"terms": {
"field": "bairro.raw"
}
}
}
}'
Retourne:
{
"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
} ]
}
}
}
J'ai beaucoup plus de 10 clés de cette agrégation. Dans cet exemple, j'aurais 145 touches, et je veux le comte pour chacun d'eux. Est-il une pagination sur des seaux? Puis-je obtenir de chacun d'eux?
J'utilise Elasticsearch 1.1.0
Vous devez vous connecter pour publier un commentaire.
La taille des param devrait être un param pour les termes de la requête exemple:
Comme mentionné dans la doc ne fonctionne que pour la version 1.1.0 partir
Modifier
La mise à jour de la réponse repose sur @PhaedrusTheGreek commentaire.
réglage
size:0
est obsolète dans 2.x-delà, en raison de problèmes de mémoire infligées sur votre cluster à haute-cardinalité des valeurs de champ. Vous pouvez en lire plus à ce sujet dans le github question ici .Il est recommandé de définir explicitement une valeur raisonnable pour
size
un nombre entre 1 à 2 147 483 647.size:0
. Vous pouvez lire à ce sujet plus dans cette github questionNote
"size":10000
Obtenir plus de 10000 seaux. Valeur par défaut est 10."size":0
En conséquence,"hits"
contient 10 documents par défaut. Nous n'avons pas besoin d'eux.Par défaut, les seaux sont commandés par le
doc_count
dans l'ordre décroissant.Parce que fielddata est désactivé sur les champs de texte par défaut. Si vous n'avez pas wxplicitly choisi un type de champ de la cartographie, il a le dynamique par défaut des mappages pour les champs de type chaîne.
Donc, au lieu d'écrire
"field": "your_field"
vous avez besoin d'avoir"field": "your_field.keyword"
.Augmentation de la taille(2e de la taille) à 10000 dans votre terme agrégations et vous obtiendrez le seau de taille 10000. Par défaut, il est fixé à 10.
Aussi, si vous voulez voir les résultats de la recherche il suffit de faire le 1er à 1, vous pouvez voir document 1, depuis ES prend en charge à la fois de la recherche et de l'agrégation.