我有一个ElasticSearch数据库,其中的文档包含serviceName和documentId字段,如下所示:
文件一:
{
"serviceName": 2020,
"documentId": 1
}
文件二:
{
"serviceName": 2020,
"documentId": 2
}
文件三:
{
"serviceName": 2019,
"documentId": 1
}
我需要列出每个documentId值的所有serviceName值。因此,答案如下:
2019年1月20日
二○二○年
这可以在ElasticSearch中完成吗?
1条答案
按热度按时间tnkciper1#
您可以使用Elasticsearch中的terms aggregation来获得预期结果。
下面是示例查询:
所给示例数据的输出:
如果您已使用
text
和keyword
这两种类型定义字段,则需要使用documentId.keyword
和serviceName.keyword
,如果字段定义为long
,则上述查询按原样工作。