更新API

你能够创建一个UpdateRequest,然后将其发送给client。

UpdateRequest updateRequest = new UpdateRequest();
updateRequest.index("index");
updateRequest.type("type");
updateRequest.id("1");
updateRequest.doc(jsonBuilder()
.startObject()
.field("gender", "male")
.endObject());
client.update(updateRequest).get();

或者你也可以利用prepareUpdate方法

1 client.prepareUpdate("ttl", "doc", "1")
2 .setScript("ctx._source.gender = \"male\"" , ScriptService.ScriptType.INLINE)
3 .get(); 5 client.prepareUpdate("ttl", "doc", "1")
6 .setDoc(jsonBuilder()
7 .startObject()
8 .field("gender", "male")
9 .endObject())
10 .get();

1-3行用脚本来更新索引,5-10行用doc来更新索引。

当然,java API也支持使用upsert。如果文档还不存在,会根据upsert内容创建一个新的索引。

IndexRequest indexRequest = new IndexRequest("index", "type", "1")
.source(jsonBuilder()
.startObject()
.field("name", "Joe Smith")
.field("gender", "male")
.endObject());
UpdateRequest updateRequest = new UpdateRequest("index", "type", "1")
.doc(jsonBuilder()
.startObject()
.field("gender", "male")
.endObject())
.upsert(indexRequest);
client.update(updateRequest).get();

如果文档index/type/1已经存在,那么在更新操作完成之后,文档为:

{
"name" : "Joe Dalton",
"gender": "male"
}

否则,文档为:

{
"name" : "Joe Smith",
"gender": "male"
}

最新文章

  1. C#制作、打包、签名、发布Activex全过程
  2. Eclipse里面Outline中图标的含义
  3. kali 2016的基础配置
  4. Codeforces Round #260 (Div. 2) A~C
  5. Cadence Allegro导网表的错误问题解决
  6. COJ 2105 submatrix
  7. Java Web整合开发(20) -- Hibernate入门
  8. 重点+超详细:ajax和json及案例
  9. 一款好用的软件easyUI
  10. JavaScript 函数定义
  11. 前端 $.parseJson()
  12. c#简单的数据库查询与绑定DataGridView。
  13. 初学Python——介绍一些内置方法
  14. MUI - 复选框、单选框、使用js获取选择值
  15. C - Little Jumper (三分)
  16. iOS UI调试神器,插件injection for Xcode使用方法
  17. Hive Web Interface的安装
  18. 查询包含指定字段的所有表名的SQL脚本
  19. Linux查看网卡UUID另一方法
  20. 基于日志报警插件 elastalert 实现告警

热门文章

  1. Android开发 AndroidStudio解决Error:moudle not specified
  2. 在VMware中创建一个新的虚拟机 ,安装Linux4.X系统 ,之后在此基础上安装openfiler(网络存储管理实用程序)
  3. [JZOJ6344] 【NOIP2019模拟2019.9.7】Huge Counting
  4. Oracle大数据查询优化
  5. 「题解」:$e$
  6. 数论剩余系——cf1089F
  7. MFC int转CString
  8. python实现百度OCR图片识别
  9. kkFileView在centos7上安装
  10. android—退出应用程序