es解决只能默认查询10000条数据方案

es解决只能默认查询10000条数据方案

一、引言

在使用es进行数据查询时,由于es官方默认限制了索引一次性最多只能查询10000条数据,这其实是es的一种保护机制,那么很多时候我们需要突破这种限制,例如需要进入数据同步的场景,则需要查询全部的数据,如何处理呢?

二、解决方案

方案1:在设置索引属性时解除索引最大查询数的限制

put _all/_settings

{

"index.max_result_window":200000

}

_all表示所有索引,针对单个索引的话修改成索引名称即可

方案2::在创建索引的时候加上

"settings":{

"index":{

"max_result_window": 500000

}

}

方案3:修改API调用时代码配置 通过以上的处理,我们发现,当我们项目中通过API操作ES时还是没有生效,还是只能查询前10000条,这时候需要在API中添加这样一行代码:

searchSourceBuilder.trackTotalHits(true);

通过上面方案,即可实现突破Es官方限制的只能查询前10000条的限制。

相关推荐

[有问必答]杨阳洋在哪个学校上学?
365速发国际靠谱么

[有问必答]杨阳洋在哪个学校上学?

📅 06-27 👁️ 3338
DICP科普一下∣羰基
healthy 365 app

DICP科普一下∣羰基

📅 06-27 👁️ 985
ifile下载和安装及使用图文教程 强大的iPhone文件管理器
王者体验服更新,又一位T0级法王诞生,安琪拉重做,姬小满回调
没有找到站点
365双试投注

没有找到站点

📅 06-27 👁️ 5801
南瓜汤煮多久
365速发国际靠谱么

南瓜汤煮多久

📅 06-27 👁️ 9690
南瓜汤煮多久
365速发国际靠谱么

南瓜汤煮多久

📅 06-27 👁️ 9690
王者体验服更新,又一位T0级法王诞生,安琪拉重做,姬小满回调
网购商品一般多久到货?揭开物流时效的秘密
365双试投注

网购商品一般多久到货?揭开物流时效的秘密

📅 06-27 👁️ 5001