我正在运行aggs查询并指定大小为100,但ES只返回10个桶。为什么?我错过了什么?
{
"size": 100
,"query": {
"bool": {
"must": [
{ "term": {"app": "cnn"} }
]
}
}
,"aggs": {
"unique_client": {
"terms": {"field": "client"}
}
}
}
答案 0 :(得分:8)
将top size参数设置为零,表示它是一个聚合。返回的桶数是通过在术语聚合括号中指定大小来设置的。
{
"size": 0
,"query": {
"bool": {
"must": [
{ "term": {"app": "cnn"} }
]
}
}
,"aggs": {
"unique_client": {
"terms": {
"field": "client",
"size" : 100
}
}
}
}
如果将其设置为0,则该值将默认为Integer.MAX_VALUE
答案 1 :(得分:2)
外部尺寸是针对您的查询获取的文档总数,因此size = 100返回100个文档,获取100个聚合存储桶,指定内部 unique_client aggs喜欢这个
{
"size": 0
,"query": {
"bool": {
"must": [
{ "term": {"app": "cnn"} }
]
}
}
,"aggs": {
"unique_client": {
"terms": {"field": "client"},
"size" : 100
}
}
}
默认的聚合大小是10,这就是你获得10个结果的原因,我已经将外部大小= 0来获得聚合。