亲,只收二进制

es TransportClient 在更新或者删除文档是有没有对应的同步方法?

Elasticsearch | 作者 flyzer0 | 发布于2019年12月31日 | 阅读数:2018

今天发现个问题,当我利用TransportClient修改完某个文档的一个字段后,发起查询请求,发现字段值并未立即改变。看了一下代码,发现是异步请求,所以想问一下有没有对应的同步方法。
RestHighLevelClient应该可以满足我的需求,但是我们的es版本是5.4.0,RestHighLevelClient最低的版本是5.6.0。我在试图用RestHighLevelClient替换TransportClient的时候,项目启动失败:ClassNotFoundException: org.elasticsearch.plugins.spi.NamedXContentProvider,在es里找不到NamedXContentProvider这个类。
已邀请:
匿名用户

匿名用户

赞同来自:

- -!! 
 
头大。这都是什么需求啊。
ES 又不是关系型数据库,理论又不是ACID。
ES 应该属于NOSQL范畴,理论应该是CAP,所以就不要考虑强一致性了。
 
 
 
 

Charele - Cisco4321

赞同来自:

1 你说的“发起查询请求,发现字段值并未立即改变“,
没有明白是什么意思,你能再说清楚一点吗?
 
和refresh interval相关吗?如果是这样,不管你用什么类型的客户端,结果都是一样的。
 
 
2 看了下mvn网,的确5.6.0才支持RestHighLevelClient
那就不能用,自己去实现RestHighLevelClient,几乎不可能。

flyzer0

赞同来自:

补充一下:就是我更新完某个文档的一个字段后,发起查询请求,发现字段值没有改变,再次请求之后,值改变了。也就是说有延迟

yanglz3

赞同来自:

setReffreshPolicy

要回复问题请先登录注册