我的searchRequest是這樣的,我只想得到兩個skill_group (id = 6806,6805)聚合結果,所以我在查詢和聚合中都添加了過濾器。但我仍然得到其他 Skill_group 聚合結果。es 版本是 7.1
{
"size": 0,
"query": {
"bool": {
"filter": [{
"terms": {
"skill_group_id": [6806, 6805],
"boost": 1.0
}
}],
"adjust_pure_negative": true,
"boost": 1.0
}
},
"aggregations": {
"test": {
"filter": {
"terms": {
"skill_group_id": [6806, 6805],
"boost": 1.0
}
},
"aggregations": {
"SKILLGROUP": {
"terms": {
"field": "skill_group_id",
"size": 10000,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [{
"_count": "desc"
}, {
"_key": "asc"
}],
"collect_mode": "breadth_first"
},
"aggregations": {
"WORKSTATUS": {
"terms": {
"field": "status",
"size": 10000,
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [{
"_count": "desc"
}, {
"_key": "asc"
}],
"collect_mode": "breadth_first"
}
}
}
}
}
}
}
}
結果是這樣的

uj5u.com熱心網友回復:
如果skill_group_id是一個陣列,則聚合skill_group_id將聚合該陣列的所有值。
除了過濾器之外,您還可以利用includeterms聚合上的設定,如下所示:
"SKILLGROUP": {
"terms": {
"field": "skill_group_id",
"size": 10000,
"include": [6806, 6805], <--- add this
"min_doc_count": 1,
"shard_min_doc_count": 0,
"show_term_doc_count_error": false,
"order": [{
"_count": "desc"
}, {
"_key": "asc"
}],
"collect_mode": "breadth_first"
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/387913.html
上一篇:率(elasticsearch_indices_get_missing_total)>100
下一篇:元素替換-Ruby
