elasticsearch Elasticsearch-查询超过10k的数据,elasticsearch,pagination,elasticsearch,Pagination" /> elasticsearch Elasticsearch-查询超过10k的数据,elasticsearch,pagination,elasticsearch,Pagination" />

elasticsearch Elasticsearch-查询超过10k的数据

elasticsearch Elasticsearch-查询超过10k的数据,elasticsearch,pagination,elasticsearch,Pagination,我最近编写了一个对Elasticsearch进行查询的应用程序。我总是使用“from”和“size”字段来处理分页。我今天意识到这对大于10000的数据集不起作用 我已经研究了scroll和search_,虽然两者都有意义,但我不确定我的应用程序可以使用哪一个。这是我的要求 我想显示每页1000个结果 我希望能够单击下一步并查看下一个1000个结果 我想单击返回并查看之前的1000个结果,我认为滚动不允许这样做 是的,search\u after看起来是您用例的一个可能解决方案,尽管您需要执行建

我最近编写了一个对Elasticsearch进行查询的应用程序。我总是使用“from”和“size”字段来处理分页。我今天意识到这对大于10000的数据集不起作用

我已经研究了scroll和search_,虽然两者都有意义,但我不确定我的应用程序可以使用哪一个。这是我的要求

  • 我想显示每页1000个结果
  • 我希望能够单击下一步并查看下一个1000个结果
  • 我想单击返回并查看之前的1000个结果,我认为滚动不允许这样做

  • 是的,
    search\u after
    看起来是您用例的一个可能解决方案,尽管您需要执行建议的操作以实现返回分页

    是的,
    search\u after
    对于您的用例来说似乎是一个可能的解决方案,尽管您需要执行建议的操作以实现返回分页另一个解决方案是增加索引的max\u result\u window属性。这将允许您使用大小获取更多数据

    请注意,这将增加堆内存使用量和获取结果所需的时间,因为结果的大小取决于from+size。它首先从+size
    结果中获取,并将其存储在内存中,然后从数据量中返回。因此,+size中的越多,堆内存使用越多,获取结果所需的时间也越多

    在报告中说:

    index.max\u结果\u窗口 此索引的搜索的from+size的最大值。默认值为10000。搜索请求占用的堆内存和时间与from+大小成比例,这限制了该内存


    另一种解决方案是增加索引的max\u result\u window属性。这将允许您使用大小获取更多数据

    请注意,这将增加堆内存使用量和获取结果所需的时间,因为结果的大小取决于from+size。它首先从+size
    结果中获取,并将其存储在内存中,然后从数据量中返回。因此,+size中的越多,堆内存使用越多,获取结果所需的时间也越多

    在报告中说:

    index.max\u结果\u窗口 此索引的搜索的from+size的最大值。默认值为10000。搜索请求占用的堆内存和时间与from+大小成比例,这限制了该内存


    谢谢你的链接,看来这是更好的选择。不幸的是,我的应用程序允许用户对许多字段进行排序,其中有些字段的值为“null”,有些字段的值为空。事实上,这可能会让我的查询变得非常混乱。相反,我可能不得不进行设计更改,以在10000之后停止显示数据,并要求用户进行更具体的查询。非常感谢。谢谢你的链接,看来这是更好的选择。不幸的是,我的应用程序允许用户对许多字段进行排序,其中有些字段的值为“null”,有些字段的值为空。事实上,这可能会让我的查询变得非常混乱。相反,我可能不得不进行设计更改,以在10000之后停止显示数据,并要求用户进行更具体的查询。非常感谢。不幸的是,这不会有帮助,因为我有时会返回超过5万个结果。不管怎样,谢谢你的帮助:)不幸的是,这不会有帮助,因为我有时会返回超过50k的结果。感谢您的帮助:)