elasticsearch - 如何使用Jest客户端一次从Elasticsearch一次获取一万多个文档

标签 elasticsearch jest

ElasticSearch默认情况下会提供10条记录,但是我们可以设置size参数并获得10条以上的记录,但是有限制,如果我们对Elasticsearch使用Jest客户端,则只能设置10000作为记录大小,如果它超过1万然后抛出异常。

请帮助我使用Jest Client(java)在Elasticsearch中一次获取1万多个记录

提前致谢

最佳答案

存在该限制是有原因的-引用文档中的内容:

The index.max_result_window which defaults to 10,000 is a safeguard, search requests take heap memory and time proportional to from + size.



根据您的用例,有更好的选择:
  • 实时/面向用户:使用具有良好响应时间和合理堆使用量的Search After(并避免进行深度分页)。
  • 机器/批处理(通常读取所有数据):Scroll,它创建一个搜索上下文并在指定的时间内保持打开状态。只要上下文是开放的,结果也将是稳定的。
  • 关于elasticsearch - 如何使用Jest客户端一次从Elasticsearch一次获取一万多个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42972508/

    相关文章:

    java - 使用Java中的JEST API向索引添加别名并删除索引

    elasticsearch - 如何使用 logstash 过滤器解析 xml 文件

    amazon-web-services - Elasticsearch 中的不同类型的分片

    elasticsearch - 使用elasticsearch分离数据访问

    java - 使用Java Jest在Elasticsearch中按ID查找带有附加过滤器的文档

    elasticsearch - 没有JSON查询的Jest客户端中的聚合

    elasticsearch - 如何使用JEST在ElasticSearch中执行RemoveAliasMapping

    elasticsearch - WrapperQueryBuilder-aggs查询引发查询格式错误的异常

    java - 无法运行 "Hello World"Elastic-Search Java 客户端

    Elasticsearch 术语聚合 - 用于对象的动态键