概述
下面记录来记录并分享ES相关操作:
单个文件更新实现方式如下所示:
/**
* create by wxy_jdhk
*/
public class ElasticSearchUtils {
//更新方式1
public void updateDocumentOne(TransportClient client) {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.index("index");
updateRequest.type("_doc");
updateRequest.id("1");
try {
updateRequest.doc(
jsonBuilder()
.startObject()
.field("gender", "male")
.endObject()
);
UpdateResponse response = client.update(updateRequest).get();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
//更新方式2
public void updateDocumentTwo(TransportClient client) {
/*client.prepareUpdate("tt1", "_doc", "1")
.setScript(new Script(
"ctx._source.gender = "male"",
ScriptService.ScriptType.INLINE, null, null
)).get();*/
try {
client.prepareUpdate("tt1", "_doc", "1")
.setDoc(
jsonBuilder()
.startObject()
.field("gender", "male")
.endObject())
.get();
} catch (IOException e) {
e.printStackTrace();
}
}
//更新方式3
public void updateByScript(TransportClient client) {
UpdateRequest updateRequest = new UpdateRequest("ttl", "doc", "1")
.script(new Script("ctx._source.gender = "male""));
try {
client.update(updateRequest).get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
通过过滤器更新多个文档,实现方式如下所示:
/**
* create by wxy_jdhk
*/
public class ElasticSearchUtils {
public void updateDocumentByFilter(TransportClient client){
try {
UpdateRequest updateRequest = new UpdateRequest("index", "type", "1")
.doc(
jsonBuilder()
.startObject()
.field("gender", "male")
.endObject());
UpdateResponse response = client.update(updateRequest).get();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
最后
以上就是爱听歌微笑为你收集整理的Java之ES更新操作的全部内容,希望文章能够帮你解决Java之ES更新操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复