search_after在指定元素之前返回结果

时间:2018-06-15 21:55:28

标签: elasticsearch

我在@timestamp和_uid上有一个match_all查询排序。参数设置为= 0和size = 25。我按预期得到了25个ID。

如果我使用相同的查询,然后使用相同的参数添加search_after id 12,我希望得到id {12,13,14,15..25}。相反,我回来了{4,5,6,... 25}。

我对如何发生这种情况感到很困惑?不是search_after的名称暗示它只会在原始查询指定的条目之后返回结果吗?

同样对于search_after,我正在使用:“search_after”:[1527201104032,“log#AWOUR2VorbUl8ovcHSNq”],

显然第二个条目是我的_uid。我假设第一个条目是游标id。它是否正确?无论我是在没有search_after的情况下从我的第一个查询中完全按原样复制它。

1 个答案:

答案 0 :(得分:0)

search_after应该始终与您的排序匹配,因此第一个值为时间戳,第二个为_uid。

要从12个文档中获取文档,您需要为search_after提供时间戳和_uid为11。