聚合全文字段

时间:2017-06-14 21:25:30

标签: elasticsearch

我正在尝试显示指数中的市场数量。每个文档都有一个名为market的字段,我希望汇总结果如下:

  

“广告和销售”:400

     

“石油工业”:250

     

“金属工业”:125

我知道如何使用查询显示这些结果:

"aggs":{
  "group_by_market":{
    "terms":{
      "field": "market"
    }
  }
}

问题是当它们被显示时;它们无法正确显示。市场单独显示。例如:

  

“广告”:400

     

“销售”:400

     

“油”:322

     

...等

如何将市场与所有文本汇总?

1 个答案:

答案 0 :(得分:0)

您的字段类型是文字。您需要指定字段的映射为"关键字"字段(Elasticsearch版本5 +)Mappings

在旧版本中,映射需要有" not_analyzed" Mappings

两者之间的基本区别在于,一个用于标记化,用于全文搜索,而另一个用于像您这样的用例。