ES在数据搜索上提供了强大支持,但其耗费内存代价也是巨大的。因为第一次使用ElasticSearch,在做分页的时候没有注意,分页插件显示了最后一页,今天做压测,单台es的数据达到2亿数据,每页显示20条的情况下需要500万页。
直接点第500万页的时候出现了“Result window is too large”报错,搜索一下网络,原来ES设置了默认最大窗口数量index.max_result_window为10000,完全是为了提高搜索速度,有些解决方法直接加大该参数值:
curl -XPUT http://localhost:9200/indexName/_settings -d '{ "index" : { "max_result_window" : 10000000}}'