我正在使用 elasticsearch 和 kendo-ui 网格。现在我从无尽滚动切换到虚拟滚动。目前我在 elasticsearch 中使用 Scroll Api,但无法控制我的请求范围。
有没有办法像滚动一样获得会话,我可以在哪里发送from
and size
?或者有没有更好的方法来处理这个?
我正在使用 elasticsearch 和 kendo-ui 网格。现在我从无尽滚动切换到虚拟滚动。目前我在 elasticsearch 中使用 Scroll Api,但无法控制我的请求范围。
有没有办法像滚动一样获得会话,我可以在哪里发送from
and size
?或者有没有更好的方法来处理这个?
在搜索查询中使用search_after参数。
search_after
可以在您对一个或多个字段的文档进行排序时使用。在search_after
参数中,您为所有检索到的文档设置应该更高的字段值。
例如,如果您有一个数值字段document_position
,其值从 0 到 1000。要检索document_position
值高于 200 的文档,请使用以下查询:
{
"query": { // your query },
"sort": "document_position",
"search_after": [200]
}
您可以score
在 search after 参数中使用该值,但请注意,默认情况下,分数不一定要在 search request 之间保持一致。该文档提供了此问题的解决方案。如果您使用score
(或任何其他不是所有文档唯一的字段),您还必须对所有文档必须唯一的第二个字段进行排序。