笔记 elastic search查询数据超过1w条的问题
elastic search版本:6.1.3
遇到的问题:查询超过1w条数据会报错,即使是做了分页,一页500条,查询第21页时也会报错。
个人理解的原因:elastic search并不知道哪条数据是第10001条数据,所以还是得查询出前1w条数据,才能知道哪条是第10001条数据,这样查询的数据量就大于1w导致报错。
解决方式:
1.修改配置(不推荐)
服务器执行以下指令:
curl -H “Content-Type: application/json” -X PUT ‘http://127.0.0.1:9200/your_index/_settings?preserve_existing=true’ -d ‘{“max_result_window” : “100000”}’
修改配置有两个问题:
第一,除非能预测最大值在这个数值之内,否则到数据超过这一数值时仍然会报错
第二,查询到后面,数据量达到一定程度时,查询性能降低(这个是我自己的推测,是否正确等我学习完elastic search的储存和查询原理后再做考究)
2.利用上次查询的结果作为下次查询的条件
例如,上次查询的最后一条记录,id=1000,本次查询增加查询条件id>1000