当我测试弹性搜索的id查询如下,而不是得到5个结果,我得到3个独特的结果,因为我们有3个相同" 930147044672688594"。
有没有任何解决方案我可以得到5个结果,即使我有重复的ID?
{
"query": {
"ids": {
"values": ["939335337147845048", "931522394912682989", "930147044672688594","930147044672688594","930147044672688594"]
}
}}
答案 0 :(得分:1)
不,那是不可能的,因为你只有"只有"索引中包含这三种不同ID的三个文档。 ES不会编造人工文件。
正如您在IdsQueryBuilder
的源代码中所看到的,ids
列表内部是一个Set,这意味着每个元素都是唯一的。因此,在执行之前,您的三个重复ID实际上已转换为一组三个唯一ID ["939335337147845048", "931522394912682989", "930147044672688594"]