通过Elasticsearch术语聚合计算重复值

时间:2017-05-19 11:18:28

标签: search elasticsearch aggregation

我正在尝试在索引中的多个文档字段上运行Elasticsearch术语聚合。每个文档都包含多个带标签的字段,可以使用自定义标签分析器提取。目标是找到系统中最常见的主题标签。

Elasticsearch documentation所述,无法在文档的多个字段上运行术语聚合。因此我试图使用copy_to字段。现在的问题是,如果文档在多个字段中包含相同的#标签,则应该多次计算该术语。默认术语聚合不是这种情况:

给定映射:

{
  "properties": {
  "field_one": {
    "type": "string",
    "copy_to": "hashtags"
  },
  "field_two": {
    "type": "string",
    "copy_to": "hashtags"
  }
}

鉴于文件:

{
  "field_one": "Hello #World",
  "field_two": "One #World",
}

聚合将返回单个存储桶{"key": "#World", "doc_count": 1}。我需要的是一个桶{"key": "#World", "doc_count": 2}

0 个答案:

没有答案