es命令

https://www.elastic.co/cn/what-is/elasticsearch

 

初步检索

1、_cat

GET /_cat/nodes:查看所有节点
GET /_cat/health:查看 es 健康状况
GET /_cat/master:查看主节点
GET /_cat/indices:查看所有索引  (show databases;)

2、索引一个文档(保存)

保存一个数据,保存在 哪个索引的哪个类型下,指定用哪个唯一标识
PUT customer/external/1;  在 customer 索引下的 external 类型下保存 1 号数据为
PUT customer/external/1
数据分装在json中
{
   "name": "John Doe"
}
PUT 和 POST 都可以,
POST 新增。如果不指定 id,会自动生成 id。指定 id 就会修改这个数据,并新增版本号
PUT 可以新增可以修改。PUT 必须指定 id;由于 PUT 需要指定 id,我们一般都用来做修改操作,不指定 id 会报错。

3、查询文档

GET customer/external/1
结果:
{
     "_index": "customer",  //在哪个索引
     "_type": "external",     //在哪个类型
     "_id": "1",                    //记录 id
     "_version": 2,             //版本号
     "_seq_no": 1,            //并发控制字段,每次更新就会+1,用来做乐观锁
     "_primary_term": 1,   //同上,主分片重新分配,如重启,就会变化
     "found": true,
     "_source": {              //真正的内容
               "name": "John Doe"
      }
}
更新携带 ?if_seq_no=0&if_primary_term=1

4、更新文档

POST customer/external/1/_update
{
     "doc":{
         "name": "John Doew"
     }
}
或者
POST customer/external/1
{
      "name": "John Doe2"
}
或者
PUT customer/external/1
{
      "name": "John Doe"
}
不同:POST 操作会对比源文档数据,如果相同不会有什么操作,文档 version 不增加PUT 操作总会将数据重新保存并增加 version 版本;
       带_update 对比元数据如果一样就不进行任何操作。
      看场景;
           对于大并发更新,不带 update;
           对于大并发查询偶尔更新,带 update;对比更新,重新计算分配规则。
更新同时增加属性
POST customer/external/1/_update
{
     "doc": { "name": "Jane Doe", "age": 20 }
}
PUT 和 POST 不带_update 也可以

5、删除文档&索引

DELETE customer/external/1
DELETE customer

6、bulk 批量 API

POST customer/external/_bulk
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }

语法格式:
{ action: { metadata }}  \n
{ request body}            \n
{ action: { metadata }}  \n
{ request body}            \n
复杂实例:
POST /_bulk
{ "delete": { "_index": "website", "_type": "blog", "_id": "123" }}
{ "create": { "_index": "website", "_type": "blog", "_id": "123" }}
{ "title":"My first blog post" }
{ "index": { "_index": "website", "_type": "blog" }}
{ "title":"My second blog post" }
{ "update": { "_index": "website", "_type": "blog", "_id": "123"} }
{ "doc" : {"title" : "My updated blog post"} }
bulk API 以此按顺序执行所有的 action(动作)。如果一个单个的动作因任何原因而失败,
它将继续处理它后面剩余的动作。当 bulk API 返回时,它将提供每个动作的状态(与发送
的顺序相同),所以您可以检查是否一个指定的动作是不是失败了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值