消除elasticsearch查询中的重复项

时间:2017-07-06 06:35:20

标签: elasticsearch

我遇到的问题是某些文档被索引了两次或更多,因此我想在搜索时过滤掉这些重复项。我跟着其他一些线程构建了这个查询:

{
  "query" : { ... },
  "size" : 10,
  "from" : 0,
  "sort" : { ... },
  "aggs" : {
    "dedup" : {
      "terms" : {
        "field" : "content.keyword"
      },
      "aggs" : {
        "dedup_docs" : {
          "top_hits" : {
            "size" : 1
          }
        }
      }
    }
  }
}

但似乎这种聚合没有效果。我仍然得到重复的结果(内容字段中包含相同文本的文档)。

请求已更改:

{
  "query" : { ... },
  "size" : 10,
  "from" : 0,
  "sort" : { ... },
  "collapse" : {
    "field" : "content.keyword"
  }
}

1 个答案:

答案 0 :(得分:1)

您还可以查看最近添加的field collapsing feature