嗨,我在AWS托管服务中托管了弹性搜索文档,我想获取结果集中存在的关键字数量。即假设我的文档中的键中包含文本数据,而我正在搜索键X,Y,Z。它给我返回了N个文档。我怎么能得到,N个文档中X出现了多少次,Y出现了多少次,Z出现了多少次? 例如: 我有以下文档:
{
"id":1,
"date":"2019-04-24 12:10:05",
"text":"Hi I am from India and here for few days only",
"groupName":"India Toruist"
}
{
"id":2
"date":"2019-04-24 12:10:06",
"text":"Hi I am from Sri Lanka went to India in past and will stay here for 18 days only",
"groupName":"Sri Lanks Tourist"
}
现在我正在针对文本键搜索斯里兰卡和印度。它将返回文档1和2。我想知道印度发生了多少次,斯里兰卡发生了多少次。
答案 0 :(得分:0)
您可以通过使用聚合来做到这一点。以下是可能对您有帮助的查询。
{
"size": "0",
"aggs": {
"docs_groupName_in": {
"terms": {"field": "groupName.keyword","include" : ".*India.*"}
},
"docs_groupName_sl": {
"terms": {"field": "groupName.keyword","include" : ".*Sri Lanka.*"}
}
}
}
希望有帮助。