【发布时间】:2017-01-07 21:40:35
【问题描述】:
当我第一次搜索时,它对所有文档进行排序并给我前 5 条记录。但是,如果通过更改排序方向(ASC -> DESC)执行相同的搜索查询,则它不会再次对所有文档进行排序,它给我最后 5 个检索到的文档(来自上一个搜索查询),按 desc 顺序对它们进行排序,并给出它还给我。我期待它会按 DESC 顺序对所有可用文档进行排序,然后检索前 5 个结果。
我是做错了什么,还是错过了任何概念。
我的搜索查询:
{
"sort": {
"taskid": {
"order": "ASC"
}
},
"from": 0,
"size": 5,
"query": {
"filtered": {
"query": {
"match_all": []
}
}
}
}
我有 taskid 1 到 100 的数据。现在上面的查询在第一次尝试时从 taskid 1 到 5 获取了我的记录。现在,当我将排序方向更改为 desc 时,我希望返回 taskid 为 96-100(100,99,98,97,96 序列)的文档,但是我返回了 taskid 为 5,4,3,2 的文档, 1 在该序列中。这意味着,仅对先前返回的结果进行排序。
请注意 taskid 和 _id 在我的文档中是相同的。我在映射中添加了一个冗余字段,与 _id 相同
【问题讨论】:
-
order应该小写。它应该是“asc”或“desc”:) -
我不认为值的大小写有问题。
标签: sorting elasticsearch elasticsearch-plugin elasticsearch-2.0