gpt4 book ai didi

elasticsearch - 使用多匹配查询进行分页

转载 作者:行者123 更新时间:2023-12-02 22:27:48 24 4
gpt4 key购买 nike

我试图弄清楚如何使用elasticsearch通过多匹配查询完成分页。
scrollsearch_after API似乎无法使用。按照documentationscroll并不用于实时用户请求。 search_after每个id都需要一些唯一的字段,并要求您按照documentation在该字段上进行排序,但是使用多重匹配查询时,您基本上是按照得分进行排序。

因此,到目前为止,我唯一想到的就是执行以下操作:

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

最佳答案

如果要分页,第一个选项是在查询中使用fromsize参数。 The documentation here

Pagination of results can be done by using the from and size parameters. The from parameter defines the offset from the first result you want to fetch. The size parameter allows you to configure the maximum amount of hits to be returned.

Though from and size can be set as request parameters, they can also be set within the search body. from defaults to 0, and size defaults to 10.

Note that from + size can not be more than the index.max_result_window index setting which defaults to 10,000. See the Scroll or Search After API for more efficient ways to do deep scrolling.



如果您不需要分页显示超过10k的结果,那是您的最佳选择。可以修改 max_result_window,但是性能会随着所选页数的增加而降低。

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

关于elasticsearch - 使用多匹配查询进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56436224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com