【发布时间】:2016-05-22 19:10:26
【问题描述】:
我的索引文档中有一个字段是一个句子。我打算在索引中的所有文档中找到唯一句子的值。该字段是一个“字符串”字段并被分析。我已经尝试过 cardinality 聚合,但它给了我唯一句子的计数,但不是实际的唯一值。我该如何解决这个问题?
这是我的搜索查询
{
"fields":[
"incident.name"
],
"aggs":{
"unique_vuls":{
"cardinality":{
"field":"incident.name"
}
}
}
}
【问题讨论】:
-
你需要 terms 聚合。
-
@AndreiStefan - 我尝试了术语聚合,但它给了我一个唯一单词列表,而不是构成
incident.name字段的整个句子。 -
是的,因为您的“姓名”字段需要使用关键字分析器进行 not_analyzed 或分析。或者将字段转换为不分析其中一个子字段的多字段。
-
@AndreiStefan - 这行得通。谢谢你。我现在发布答案以供他人受益。
标签: elasticsearch