Elasticsearch操作数据后马上更新的办法

生如夏花 2016-08-22 18:51:50 7544

前言:

我们经常有这样的需求,在对 Elasticsearch  数据进行操作的时候,要及时返回刚刚操作完毕的数据,或者数据列表。

比如加入存储一条数据后,我马上要返回数据的总条数,这个时候,会出问题,Elasticsearch会返回操作之前的数据,也就是假如开始有500条数据,我Insert了一条进去,按道理来说应该是501条,但是这个时候查询会发现,只有500条数据,再次请求又得到501条数据,这个是怎么回事呢?

这个问题因为 Elasticsearch  有延迟的关系(好像记得是3秒还是1秒来着)。有的人的做法比如有以下方法解决的。

Thread.sleep(3000L);

还有再请求一次的。但这些都不是解决方案,当你知道有方法的时候,你会自己笑自己。

其实我看过这个网站的博客里有用到,但是群主没提到这个方法的作用。

在:http://www.sojson.com/blog/88.html里有一句代码,如下:

BulkRequestBuilder bulkRequest = ESTools.client.prepareBulk().setRefresh(true);

这里的setRefresh(true);

就是自动刷新的用处。所以在我们CRUD的时候,如果对数据增删改操作的时候,如果要及时返回最新数据,那么我们就需要加这个方法,及时刷新数据。

当然 Elasticsearch  也是可以配置刷新时间的,但是没必要,频繁的刷新会造成压力过大。


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/105.html

转载时必须以链接形式注明原始出处及本声明。


如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
上天我不能,入地我不愿,我只能徘徊于天地之间。生当夏花,死而无憾!
相关文章
Elasticsearch操作数据马上更新办法
Elasticsearch 随机返回数据 API
Elasticsearch 分词,Elasticsearch Java API 分词 操作
Elasticsearch教程(九) elasticsearch 查询数据 | 分页查询
Elasticsearch教程(八) elasticsearch delete 删除数据(Java)
Elasticsearch教程(七) elasticsearch Insert 插入数据(Java)
ElasticSearch教程 ElasticSearch Script update,1.x版本和2.x版本 Script语法更新Demo
Elasticsearch教程(五) elasticsearch Mapping的创建
Elasticsearch Java API 获取version,以及数据_version的介绍
Elasticsearch教程,Elasticsearch Java API创建Mapping,指定分词器
最新文章
Macbook teamviewer 突破5分钟,苹果电脑重置 Mac 地址,100%解决限制 220
腾讯云代金券 10000 元/ 30000 代金券领取技巧 324
SEO 换友情链接的主意事项,友情链接断链、友情链接套路说明 229
Springboot + Mybatis,数据库多数据源配置项目Demo【源码下载】 1903
Mac mtr 安装并使用,mrt: command not found 299
Java 集成阿里云消息队列,日志消息存储 497
域名备案注意事项,网站域名ICP备案快速通过攻略【干货分享】 472
Springboot 集成Aliyun MQ消息队列,Aliyun 消息队列配置及代码实现 837
SpringBoot 集成Spring-data-redis,redis对象序列化存储 2029
天气API,全国天气 JSON API接口,可以获取十五天的天气预报 604
最热文章
Elasticsearch教程(四) elasticsearch head 插件安装和使用 126781
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 108004
Elasticsearch教程(六) elasticsearch Client创建 78810
Elasticsearch教程(八) elasticsearch delete 删除数据(Java) 74434
Elasticsearch教程(二),IK分词器安装 73217
Elasticsearch教程(一),全程直播(小白级别) 65782
Elasticsearch教程(五) elasticsearch Mapping的创建 61877
Elasticsearch教程(三),IK分词器安装 (极速版) 56361
Elasticsearch教程(七) elasticsearch Insert 插入数据(Java) 53539
Java 解析JSON,JSON-LIB jar包下载和使用。 48973
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

正在加载... ...