博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
elasticsearch-更新文档
阅读量:6737 次
发布时间:2019-06-25

本文共 748 字,大约阅读时间需要 2 分钟。

hot3.png

更新整个文档

文档在Elasticsearch中是不可变的——我们不能修改他们。如果需要更新已存在的文档,我们可以使用《索引文档》章节提到的index API 重建索引(reindex) 或者替换掉它。

PUT /website/blog/123{  "title": "My first blog entry",  "text":  "I am starting to get the hang of this...",  "date":  "2014/01/02"}

在响应中,我们可以看到Elasticsearch把_version增加了。

{  "_index" :   "website",  "_type" :    "blog",  "_id" :      "123",  "_version" : 2,  "created":   false <1>}
  • <1> created标识为false因为同索引、同类型下已经存在同ID的文档。

在内部,Elasticsearch已经标记旧文档为删除并添加了一个完整的新文档。旧版本文档不会立即消失,但你也不能去访问它。Elasticsearch会在你继续索引更多数据时清理被删除的文档。

在本章的后面,我们将会在《局部更新》中探讨update API。这个API 似乎 允许你修改文档的局部,但事实上Elasticsearch遵循与之前所说完全相同的过程,这个过程如下:

+

  1. 从旧文档中检索JSON
  2. 修改它
  3. 删除旧文档
  4. 索引新文档

唯一的不同是update API完成这一过程只需要一个客户端请求既可,不再需要getindex请求了。

转载于:https://my.oschina.net/u/3159571/blog/1647647

你可能感兴趣的文章
centos: 建立git账户
查看>>
BZOJ2325[ZJOI2011]道馆之战——树链剖分+线段树
查看>>
MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
查看>>
LAMP简单架构实验:Apache+NFS+MySQL
查看>>
ll命令
查看>>
邮件附件在线预览——HTML Filter
查看>>
PC桌面右下方QQ托盘图标
查看>>
jenkins执行启动java程序后,会杀掉程序的解决方法
查看>>
升值加薪的人中为什么么有你???
查看>>
Linux 之 iptables
查看>>
linux下的静态库和动态库分析
查看>>
zabbix自动报警邮件正文变成附件问题解决
查看>>
豆瓣阿北:用户价值大于产品体验,通过产品做运营
查看>>
我的友情链接
查看>>
利用clonezilla克隆、还原CentOS整个系统
查看>>
解决127.0.0.1 localhost 劫持问题
查看>>
winscp连接虚拟机Linux被拒绝的问题解决方案
查看>>
教程-Delphi设置功能表
查看>>
Java中的多线程,线程池
查看>>
软件下载站
查看>>