Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 多匹配查询分页_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Pagination - Fatal编程技术网 elasticsearch 多匹配查询分页,elasticsearch,pagination,elasticsearch,Pagination" /> elasticsearch 多匹配查询分页,elasticsearch,pagination,elasticsearch,Pagination" />

elasticsearch 多匹配查询分页

elasticsearch 多匹配查询分页,elasticsearch,pagination,elasticsearch,Pagination,我试图弄清楚如何使用elasticsearch通过多匹配查询完成分页 滚动和搜索API之后的内容似乎不起作用滚动不适用于根据的实时用户请求search\u after要求每个id有一个唯一的字段,并要求您根据对该字段进行排序,但使用多匹配查询时,基本上是按分数排序 因此,到目前为止,我唯一想到的是做以下事情: 发回上一个文档id+分数,并将分数用作排序字段。但是,如果在两个查询之间添加了其他文档,则可能会返回重复的文档。如果要分页,第一个选项是在查询中使用from和size参数 可以使用from

我试图弄清楚如何使用elasticsearch通过多匹配查询完成分页

滚动
搜索
API之后的内容似乎不起作用<代码>滚动不适用于根据的实时用户请求
search\u after
要求每个id有一个唯一的字段,并要求您根据对该字段进行排序,但使用多匹配查询时,基本上是按分数排序

因此,到目前为止,我唯一想到的是做以下事情:


发回上一个文档id+分数,并将分数用作排序字段。但是,如果在两个查询之间添加了其他文档,则可能会返回重复的文档。

如果要分页,第一个选项是在查询中使用
from
size
参数

可以使用from和size对结果进行分页 参数。from参数定义从第一个点的偏移 要获取的结果。size参数允许您配置 要返回的最大点击量

虽然from和size可以设置为请求参数,但它们也可以 可以在搜索正文中设置。从默认值到0,以及大小默认值 到10岁

请注意,from+大小不能超过index.max\u result\u窗口 索引设置,默认为10000。查看滚动条或搜索 API提供了更有效的深度滚动方式

如果您不需要对超过10k的结果进行分页,这是您的最佳选择。
max\u result\u窗口可以修改,但性能会随着所选页码的增加而降低


当然,如果在用户分页过程中添加了某些文档,它们将被添加,并且您的分页可能会有点不准确。

如果新文档添加到开头,您将如何处理?即,索引了10个新文档,这些文档在查询中得分最高。然后“跳过”和“从”不起作用。哎呀,我没有读到你答案的最后一部分。是的,这很有道理。我刚刚决定返回最多500或1000个结果(因为我只是返回ID),并让客户端对ID列表进行分页。