ElasticSearch在标记化字段上对术语进行聚合

时间:2015-01-07 09:10:52

标签: elasticsearch aggregation

当我对字符串字段(使用空白标记化器)进行术语聚合时,我会得到每个单词(标记)的结果,但我需要整个字符串的结果。 如何对字符串字段进行聚合,例如条件,但是按整个字符串进行分组输出,而不是使用标记?

我已经看到了这个解决方案: ElasticSearch term aggregation Terms aggregation based on unique key 但它们基于关键字标记化器

我不能使用关键字标记器,因为我在索引时不会应用停用词过滤器

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,来到这里寻找解决方案。

然后我突然明白了。那是一个.raw(未分析)字段,它起作用了。解决方案是使用它。

所以汇总来自:

{
  "aggs": {
    "keys": {
      "terms": {
        "size": 0,
        "field": "key"
}}}}}

为:

{
  "aggs": {
    "keys": {
      "terms": {
        "size": 0,
        "field": "key.raw"
}}}}}