微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

开放发行版Elasticsearch

如何解决开放发行版Elasticsearch

我们可以通过Java从开放发行版Elasticsearch中获取10000条以上的记录吗?

我尝试使用普通的基本SQL查询

选择ID,根据ID限制10、10从员工订单中选择姓名;

如果我尝试通过上述查询获取数据,则效果很好,但范围应在10k以下。 如果我更改限制(来自大小)(即限制10000、10),则不会返回任何值。

解决方法

是的,可以,控制此限制的index.max_result_window的默认值为10K,因此没有得到结果,请在official ES docs中阅读此设置的说明

搜索到该索引的最大值从+大小。默认值 到10000。搜索请求占用的堆内存和时间与 从+大小,这限制了内存。请参阅滚动或之后搜索 从而提出一种更有效的替代方法。

当from和size为10k,10时,它越过from + size的限制10k。但好消息是它是动态设置,可以在不重新启动ES节点的情况下进行更改:

PUT http:// {{esHost}}:{{port}} / {{index}} / _设置

{
    "index.max_result_window" : 20000
}

检查索引设置中是否已更新

获取http:// {{eshost}}:{{port}} / {{index}} / _设置

{
    "64142048": {
        "settings": {
            "index": {
                "number_of_shards": "1","provided_name": "64142048","max_result_window": "20000",--> note the change
                "creation_date": "1601531937379","number_of_replicas": "1","uuid": "TyEBaknxRJy9NGgma6jOmA","version": {
                    "created": "7080099"
                }
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。