0

我正在使用 elasticsearch 和 kendo-ui 网格。现在我从无尽滚动切换到虚拟滚动。目前我在 elasticsearch 中使用 Scroll Api,但无法控制我的请求范围。

有没有办法像滚动一样获得会话,我可以在哪里发送fromand size?或者有没有更好的方法来处理这个?

4

1 回答 1

0

在搜索查询中使用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(或任何其他不是所有文档唯一的字段),您还必须对所有文档必须唯一的第二个字段进行排序。

于 2019-07-09T15:21:49.933 回答