【发布时间】:2020-03-25 12:50:42
【问题描述】:
我正在使用跨集群搜索并通过 _id 搜索两个集群中都存在的文档。 ES 返回 2 个命中(1 个在本地索引中,1 个在远程索引中)。我只想要本地索引中的那个。如何从远程集群中删除重复项?
查询:
{
"query": {
"terms": {
"_id": [ "123"]
}
}
}```
【问题讨论】:
标签: elasticsearch elastic-stack elasticsearch-plugin
我正在使用跨集群搜索并通过 _id 搜索两个集群中都存在的文档。 ES 返回 2 个命中(1 个在本地索引中,1 个在远程索引中)。我只想要本地索引中的那个。如何从远程集群中删除重复项?
查询:
{
"query": {
"terms": {
"_id": [ "123"]
}
}
}```
【问题讨论】:
标签: elasticsearch elastic-stack elasticsearch-plugin
您应该能够通过在 _id 字段上使用 Field Collapsing 来实现这一点,并定义一个排序条件,在该条件下本地集群中的文档排名更高(例如集群 ID 或时间戳等)
【讨论】:
_id 的未知类型,只接受关键字和数字 任何解决方法?查询 - { "query": { "terms": { "_id": [ "123"] } }, "collapse" : { "field" : "_id" }, "sort": ["date"], "from": 10 }
copy_to 映射参数的关键字类型字段中。更改映射后,在索引上执行 update_by_query 以确保填充新字段。