假设以下标准:
master-index
和 customer-index
customer-alias
customer-index
中的任何文档都是 master-index
中已修改选定字段值的文档的副本。类比为文档修订系统,其中
master-index
中的初始文档是原始文档。如果客户修改该文档中的字段,则该文档将(通过 _reindex
)复制到 customer-index
,并添加字段修改以及添加新字段,例如 is_edited = true
。
这意味着
master-index
中的文档将与 _id
中的文档具有相同的 customer-index
。
正常查询可能会匹配这个客户修改的文档和主文档,但是在这种重复的情况下,我只想要修改后的文档。
注意:我不想将查询限制为仅重复项,但如果存在重复项,我只想返回客户索引中的重复文档。
换句话说,对于查询中匹配的重复项(来自不同索引的相同
_id
),仅对 customer-index
中的文档进行重复数据删除或过滤。
我尝试折叠到
_id
,但我不喜欢 customer-index
文档。
我尝试过聚合,也失败了。 (有没有办法限制聚合返回的字段?)
我已经尝试过
indices_boost
但没有成功。
我觉得这应该是可能的,但我只是没有想出正确的语法?
我尝试折叠到 _id,但我不喜欢客户索引文档。
你已经用过了,虽然好像你说的那样,你不能偏爱
customer-index
。
使用collapse API时,您可以简单地根据排序部分中的特定字段(此处为
_index
)来支持文档。因此,请重试,同时考虑使用 desc
或 asc
值作为排序参数以及 _index
字段作为排序字段的排序部分。
最后,您可能需要将以下部分添加到折叠查询中:
"sort": [
{
"_index": {
"order": "asc"
}
}
]