我有一个索引,其中一个字段(类别)是一个list
字段。我想在一个索引中获取所有不同的类别。
以下是示例。
Doc1 -
{
"category": [1,2,3,4]
}
Doc2 -
{
"category": [5,6]
}
Doc3 -
{
"category": [1,2,3,4]
}
Doc4 -
{
"category": [1,2,7]
}
我的输出应该是
[1,2,3,4]
[5,6]
[1,2,7]
我使用下面的查询:-
GET /products/_search
{
"size": 0,
"aggs" : {
"category" : {
"terms" : { "field" : "category", "size" : 1500 }
}
}}
这将返回[1], [2], [3], [4], [5], [6], [7]
。我不需要列表字段中的单个唯一项。我宁愿寻找完整的唯一列表。
我在上面的查询中遗漏了什么?我使用的是ElasticSearch v7.10
1条答案
按热度按时间ippsafx71#
可以将术语聚合与脚本一起使用:
上述查询将返回如下结果: