我正在使用搜索查询从ElasticSearch中检索文档,它返回了近50k文档。我有一个UI,每页呈现100个文档,并有一个按钮跳转到最后一页。每当我尝试在最后一页上点击时,我都会得到下面的错误结果窗口太大我不想增加索引。max_result_window = 10000
vsikbqxv1#
我也遇到过类似的问题,在search after API中找到了一个解决方法,它不受10k元素限制的影响,因此在你知道你可能有更多的元素,但仍然想渲染那里的所有元素的情况下,它会很有用。由于相对容易获取的能力,没有过滤器或搜索的硬性限制,代价是不太方便的分页,这还是很容易做到的使用起来很麻烦,因为:
您将不再在页面中操作数字,而只是页面的最后一个元素,以及您希望在该元素之后看到的页面大小这并不是关于如何跳转到最后一个的答案,但这是一个不改变结果窗口大小的解决方案,或者将结果文档限制为10k
e4eetjau2#
我不明白你在Elastic搜索中跳到最后一页是什么意思。ES索引所有文档,没有“页面”的概念。另一方面,如果你在获取记录时遇到问题,请阅读下面的内容:使用“size”字段指定您希望在响应中包含的文档数。请记住,“size”字段可以接受的最大值是10000。因此,在单个ES请求中获取的文档数不可能超过10000。如果您希望获取超过10k个文档,请使您的UI使用ES滚动API(分页)。https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
2条答案
按热度按时间vsikbqxv1#
我也遇到过类似的问题,在search after API中找到了一个解决方法,它不受10k元素限制的影响,因此在你知道你可能有更多的元素,但仍然想渲染那里的所有元素的情况下,它会很有用。由于相对容易获取的能力,没有过滤器或搜索的硬性限制,代价是不太方便的分页,这还是很容易做到的
使用起来很麻烦,因为:
您将不再在页面中操作数字,而只是页面的最后一个元素,以及您希望在该元素之后看到的页面大小
这并不是关于如何跳转到最后一个的答案,但这是一个不改变结果窗口大小的解决方案,或者将结果文档限制为10k
e4eetjau2#
我不明白你在Elastic搜索中跳到最后一页是什么意思。ES索引所有文档,没有“页面”的概念。
另一方面,如果你在获取记录时遇到问题,请阅读下面的内容:
使用“size”字段指定您希望在响应中包含的文档数。请记住,“size”字段可以接受的最大值是10000。因此,在单个ES请求中获取的文档数不可能超过10000。如果您希望获取超过10k个文档,请使您的UI使用ES滚动API(分页)。https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html