阅读:10513回复:0
【6.0后端平台】ES测试遇到问题
在测试Elasticsearch时遇到问题,插入数据后立即查询该数据结果为空。
1.数据刷新策略 现象:每次insert之后,立刻查询es的数据是有可能查不到的,因为es从内存写到磁盘需要时间 原因:es默认每1s执行一次refresh,因此文档实时性被提高到1s,这也是es被称为近实时的原因 解决方法: 1. 插入数据后等待1s,再进行查询操作 2. 写的时候指定数据刷新策略, request().setRefreshPolicy(RefreshPolicy.IMMEDIATE); 枚举org.elasticsearch.action.support.WriteRequest.RefreshPolicy定义了三种策略: NONE,IMMEDIATE,WAIT_UNTIL; |
|