我最近运行Elasticsearch过滤请求是Elasticsearch过滤器请求的结果的默认文档序列是什么?
{
"from" : 0,
"size" : 10,
"query" : {
"filtered" : {
"filter" : {
"bool" : {
"must" : {
"terms" : {
"a_id" : [ 257793, 257798, 257844 ]
}
}
}
}
}
},
"explain" : false,
"fields" : "a_id"
}
所以,我可以找到a_id
所有文档中257793, 257798, 257844
,结果257844, 257798, 257793
。到现在为止还挺好。
然后我发现无论序号是数字的顺序,返回文档总是在同一a_id
顺序。也就是说,即使我跑
"terms" : {
"a_id" : [257798, 257844, 257793 ]
}
结果文档是在257844, 257798, 257793
的顺序为好。
所以我很好奇Elasticsearch过滤背后的机制。任何人都可以帮助我并给我一个提示吗?
我认为这可能是有关与存储在ES上的“索引序列”,但没有“成熟的理论”在我的脑海中证明了这一点。 – user1702713
另外'a_id'是种类“unique_id”,没有2个文档具有相同的'a_id'。所以倒序索引就像'257798 - > doc_257798','257844 - > doc_257844' – user1702713