一、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 索引、更新、删除文档的更多相关文章

  1. MongoDB(二)创建更新删除文档

    插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...

  2. MongoDB创建\更新\删除文档操作

     一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...

  3. 2.MongoDB系列之创建更新删除文档

    1. 插入文档 // 单条插入 db.getCollection('blog').insertOne({'type': 'mongodb'}) // 批量 插入 db.getCollection('b ...

  4. 《mongoDB》基本操作-创建/更新/删除文档

    一:基本操作 - db; 当前选择的集合(等于数据库名) > db demo -  use db_name; 选择你要操作的集合 > use demo switched to db dem ...

  5. Remove 以及dorp做实验验证MongoDB删除文档后索引是否会自动删除

    下面是实验步骤: > db.things.find(){ "_id" : ObjectId("5652d71a1524dc14663060e8"), &q ...

  6. Elasticsearch 创建、更新、删除文档、处理冲突

    ----创建新文档---- 1._index,_type和_id的组合可以唯一标识一个文档,所以确保一个新文档的最简单的办法就是,使用索引请求的POST形式让elsticsearch自动生成唯一_id ...

  7. 详细描述一下 Elasticsearch 更新和删除文档的过程?

    1.删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不 能被删除或者改动以展示其变更: 2.磁盘上的每个段都有一个相应的.del 文件.当删除请求发送后,文档并没有真 ...

  8. Elasticsearch 删除文档

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  9. ElasticSearch 基本概念 and 索引操作 and 文档操作 and 批量操作 and 结构化查询 and 过滤查询

    基本概念 索引: 类似于MySQL的表.索引的结构为全文搜索作准备,不存储原始的数据. 索引可以做分布式.每一个索引有一个或者多个分片 shard.每一个分片可以有多个副本 replica. 文档: ...

随机推荐

  1. 如果BarTender出现卸载不干净的问题如何处理

    自从BarTender 2016出了之后,好多小伙伴都想试试新功能咋样,这就意味着首先要卸载电脑上旧版BarTender.然而就是这个操作,难倒了好一批人,他们表示BarTender卸载卸不干净,不仅 ...

  2. 解决sourcesafe admin用户自动登录并且不用密码的问题

    用管理员(admin)登录Microsoft   Visual   SourceSafe   Administration tools-> "SourceSafe   Options界 ...

  3. 01-虚拟软件vmware安装

    什么是虚拟软件: 虚拟原件是一个可以使你在一台机器上同时运行二个或更多Windows.LINUX等系统.它可以模拟一个标准PC环境.这个环境和真实的计算机一样,都有芯片组.CPU.内存.显卡.声卡.网 ...

  4. hive操作

    1.创建hive分区表: create table invites (id int, name string) partitioned by (ds string) row format delimi ...

  5. Nginx 域名重定向

    假设 www.old.com 为旧的域名,而 www.new.com 为新的域名,要实现当我们访问 new 的时候自动重定向到 old 域名,配置如下: server { //第一种配置方法 serv ...

  6. 顶点纹理shader

    Shader "Custom/VertDisplace" { Properties { _MainTex ("Base (RGB)", 2D) = " ...

  7. [XPath] XPath 与 lxml (三)XPath 坐标轴

    本章我们将沿用上一章的 XML 示例文档. XPath 坐标轴 坐标轴用于定义当对当前节点的节点集合. 坐标轴名称 含义 ancestor 选取当前节点的所有先辈元素及根节点. ancestor-or ...

  8. linux系统抓包命令

    IP地址抓包:tcpdump -i any host 1.1.1.2 -n 端口抓包: tcpdump -i any port 6789 -n wireshak工具抓包:tcp.port == 678 ...

  9. JQuery选择器和DOM的操作-入门学习

    嘿嘿,今天学习了JQuery,前面的一周都在学习javascript,今天学习了JQuery,虽然javascript的类库有很多个,例如:Prototype,Dojo,JQuery等,javascr ...

  10. linux多行注释

    1.多行注释:   1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;   2. 在行首使用上下键选择需要注释的多行;   3. 按下键盘(大写)“I”键,进入插入模式 ...