当字段中有多个值时,如何更改术语聚合的默认值大小参数?
How to change default value size parameter of the terms aggregation when multiple values in field?
根据 Elasticsearch documentation,“术语”聚合 returns 文档最多的前十个术语。在我的特定情况下,我发送了 14 个必需的值以供参考。
{
"size": 0,
"aggs": {
"counts": {
"filters": {
"filters": {
"respondents": {
"bool": {
"should": [
{
"terms": {
"my_field": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14"
],
"size": 20 // this is not working
}
}
]
}
}
}
}
}
}
}
但是后来有4个没有返回。
如果我将“大小”属性 与“my_field”属性 并排添加,则会返回错误:
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "[terms] query does not support [size]",
"line": 40,
"col": 49
}
],
"type": "parsing_exception",
"reason": "[terms] query does not support [size]",
"line": 40,
"col": 49
},
"status": 400
}
我应该怎么做才能获得全部 14 个必需值?
您缺少 term
聚合,并且 filter
聚合不支持 size
参数,因为它将对聚合查询应用过滤器。
{
"size": 0,
"aggs": {
"counts": {
"filters": {
"filters": {
"respondents": {
"bool": {
"should": [
{
"terms": {
"my_field": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14"
]
}
}
]
}
}
}
},
"aggs": {
"count": {
"terms": {
"field": "my_field",
"size": 20
}
}
}
}
}
}
根据 Elasticsearch documentation,“术语”聚合 returns 文档最多的前十个术语。在我的特定情况下,我发送了 14 个必需的值以供参考。
{
"size": 0,
"aggs": {
"counts": {
"filters": {
"filters": {
"respondents": {
"bool": {
"should": [
{
"terms": {
"my_field": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14"
],
"size": 20 // this is not working
}
}
]
}
}
}
}
}
}
}
但是后来有4个没有返回。 如果我将“大小”属性 与“my_field”属性 并排添加,则会返回错误:
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "[terms] query does not support [size]",
"line": 40,
"col": 49
}
],
"type": "parsing_exception",
"reason": "[terms] query does not support [size]",
"line": 40,
"col": 49
},
"status": 400
}
我应该怎么做才能获得全部 14 个必需值?
您缺少 term
聚合,并且 filter
聚合不支持 size
参数,因为它将对聚合查询应用过滤器。
{
"size": 0,
"aggs": {
"counts": {
"filters": {
"filters": {
"respondents": {
"bool": {
"should": [
{
"terms": {
"my_field": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14"
]
}
}
]
}
}
}
},
"aggs": {
"count": {
"terms": {
"field": "my_field",
"size": 20
}
}
}
}
}
}