如何获得弹性搜索最常用的单词?

时间:2016-02-12 11:15:02

标签: elasticsearch aggregation

我在elasticsearch上使用术语聚合来获取380607390(380百万)索引中最常用的单词,并且我的应用程序会收到超时。

聚合字段是一个带有简单分析器的文本(该字段包含帖子内容)。

我的问题是:

术语聚合是正确的聚合来做到这一点?内容丰富的领域?

{
    "aggs" : {
        "keywords" : {
            "terms" : { "field" : "post_content" }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用min_doc_count尝试此操作。你当然不想得到那些曾被使用过一次或两次或三次的话...... 您可以根据自己的要求设置min_doc_count。这肯定会 缩短时间。

{
   "aggs" : {
    "keywords" : {
        "terms" : { "field" : "post_content",
              "min_doc_count": 5               //----->Set it as per your need
         }
      }
   }
}