在 Elasticsearch 跨集群搜索中删除重复项

Removing duplicates in Elasticsearch cross cluster search

我正在使用跨集群搜索并通过两个集群中都存在的 _id 搜索文档。 ES returns 有 2 次命中(本地索引中有 1 次,远程索引中有 1 次)。我只想要本地索引中的那个。如何从远程集群中删除副本?

查询:

{
"query": {
"terms": {
"_id": [ "123"]
}
}
}```

您应该能够通过在 _id 字段上使用 Field Collapsing 并定义排序条件来实现此目的,在该条件下,本地集群中的文档排名更高(例如,集群 ID 或时间戳等等)

(参见 Elasticsearch Reference: Field Collapsing