Elasticsearch 索引、更新、删除文档
一、Elasticsearch 索引(新建)一个文档的命令:
curl XPUT ' http://localhost:9200/test_es_order_index/test_es_order_type/1 ' -d '
{
"id": 5,
"name": "test555",
"skuName": "55",
"age":23
}
'
这里test_es_order_index 是_index名称,test_es_order_type是_type类型名称,1是_id号。
需要注意的是,如果不指定ID,那么需要使用POST命令,而不是PUT。
二、更新文档
除了索引和替换文档,ES还支持更新文档。更新文档其实是先删除旧的文档,再索引新的文档。
如果想要更新文档内容,可以按照下面的方式进行:
curl -XPOST 'localhost:9200/test_es_order_index/test_es_order_type/1/_update?pretty' -d '
{
"doc": { "name": "Jane Doe" }
}'
由于是先删除再索引,因此可以额外增加新的字段:
curl -XPOST 'localhost:9200/test_es_order_index/test_es_order_type/1/_update?pretty' -d '
{
"doc": { "name": "Jane Doe", "age": 20 }
}'
当然也支持使用脚本进行更新:
curl -XPOST 'localhost:9200/test_es_order_index/test_es_order_type/1/_update?pretty' -d '
{
"script" : "ctx._source.age += 5"
}'
其中ctx._source代表了当前的文档,上面的意思 是 在当前文档的基础上age加5.
三、删除文档
删除文档就很简单了,只需要指定文档的索引、类型、ID就行了:
curl -XDELETE 'localhost:9200/test_es_order_index/test_es_order_type/1?pretty'
四、批量操作
除了索引、替换、更新和删除,ES为了减少来回的响应信息,可以一次性执行多个命令,最后统一返回执行结果。
例如:

curl -XPOST 'localhost:9200/test_es_order_index/test_es_order_type/_bulk?pretty' -d '
{"index":{"_id":"1"}} {"name": "John Doe" } {"index":{"_id":"2"}} {"name": "Jane Doe" } '

上面的命令可以同时插入两条数据。
_bulk命令不仅仅支持单个命令执行多条,还只是多种不同的命令执行多条。
curl -XPOST 'localhost:9200/test_es_order_index/test_es_order_type/_bulk?pretty' -d '
{"update":{"_id":"1"}} {"doc": { "name": "John Doe becomes Jane Doe" } } {"delete":{"_id":"2"}} '
上面的命令中,先更新id为1的文档,再删除id为2的文档。
Elasticsearch 索引、更新、删除文档的更多相关文章
- MongoDB(二)创建更新删除文档
插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...
- MongoDB创建\更新\删除文档操作
一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...
- 2.MongoDB系列之创建更新删除文档
1. 插入文档 // 单条插入 db.getCollection('blog').insertOne({'type': 'mongodb'}) // 批量 插入 db.getCollection('b ...
- 《mongoDB》基本操作-创建/更新/删除文档
一:基本操作 - db; 当前选择的集合(等于数据库名) > db demo - use db_name; 选择你要操作的集合 > use demo switched to db dem ...
- Remove 以及dorp做实验验证MongoDB删除文档后索引是否会自动删除
下面是实验步骤: > db.things.find(){ "_id" : ObjectId("5652d71a1524dc14663060e8"), &q ...
- Elasticsearch 创建、更新、删除文档、处理冲突
----创建新文档---- 1._index,_type和_id的组合可以唯一标识一个文档,所以确保一个新文档的最简单的办法就是,使用索引请求的POST形式让elsticsearch自动生成唯一_id ...
- 详细描述一下 Elasticsearch 更新和删除文档的过程?
1.删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不 能被删除或者改动以展示其变更: 2.磁盘上的每个段都有一个相应的.del 文件.当删除请求发送后,文档并没有真 ...
- Elasticsearch 删除文档
章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...
- ElasticSearch 基本概念 and 索引操作 and 文档操作 and 批量操作 and 结构化查询 and 过滤查询
基本概念 索引: 类似于MySQL的表.索引的结构为全文搜索作准备,不存储原始的数据. 索引可以做分布式.每一个索引有一个或者多个分片 shard.每一个分片可以有多个副本 replica. 文档: ...
随机推荐
- 如果BarTender出现卸载不干净的问题如何处理
自从BarTender 2016出了之后,好多小伙伴都想试试新功能咋样,这就意味着首先要卸载电脑上旧版BarTender.然而就是这个操作,难倒了好一批人,他们表示BarTender卸载卸不干净,不仅 ...
- 解决sourcesafe admin用户自动登录并且不用密码的问题
用管理员(admin)登录Microsoft Visual SourceSafe Administration tools-> "SourceSafe Options界 ...
- 01-虚拟软件vmware安装
什么是虚拟软件: 虚拟原件是一个可以使你在一台机器上同时运行二个或更多Windows.LINUX等系统.它可以模拟一个标准PC环境.这个环境和真实的计算机一样,都有芯片组.CPU.内存.显卡.声卡.网 ...
- hive操作
1.创建hive分区表: create table invites (id int, name string) partitioned by (ds string) row format delimi ...
- Nginx 域名重定向
假设 www.old.com 为旧的域名,而 www.new.com 为新的域名,要实现当我们访问 new 的时候自动重定向到 old 域名,配置如下: server { //第一种配置方法 serv ...
- 顶点纹理shader
Shader "Custom/VertDisplace" { Properties { _MainTex ("Base (RGB)", 2D) = " ...
- [XPath] XPath 与 lxml (三)XPath 坐标轴
本章我们将沿用上一章的 XML 示例文档. XPath 坐标轴 坐标轴用于定义当对当前节点的节点集合. 坐标轴名称 含义 ancestor 选取当前节点的所有先辈元素及根节点. ancestor-or ...
- linux系统抓包命令
IP地址抓包:tcpdump -i any host 1.1.1.2 -n 端口抓包: tcpdump -i any port 6789 -n wireshak工具抓包:tcp.port == 678 ...
- JQuery选择器和DOM的操作-入门学习
嘿嘿,今天学习了JQuery,前面的一周都在学习javascript,今天学习了JQuery,虽然javascript的类库有很多个,例如:Prototype,Dojo,JQuery等,javascr ...
- linux多行注释
1.多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需要注释的多行; 3. 按下键盘(大写)“I”键,进入插入模式 ...