我正在使用产品数据,这里:link
使用max模式按关键字字段标签排序的搜索查询如下。
$in
某些文档具有相同的排序值。我在某处读到,如果排序值相同,则按内部文档ID(_id)排列。但是,情况似乎并非如此。参见下面的截图:
第一个 _id:961 ,然后是 _id:972 (精细)。但是,接着出现 _id:114 。我不明白它是如何随机的。
我们将不胜感激。
答案 0 :(得分:0)
如您所见,它是随机的。为了克服这个问题,当第一个字段的排序值相同时,您可以添加另一个字段进行排序。当您要使用_id
时,查询如下:
{
"size": 100,
"from": 20,
"_source": [
"tags",
"name"
],
"query": {
"match_all": {}
},
"sort": [
{
"tags": {
"order": "desc",
"mode": "max"
}
},
{
"_id": "asc"
}
]
}