其他分享
首页 > 其他分享> > es命令

es命令

作者:互联网

初步检索

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 返回时,它将提供每个动作的状态(与发送 的顺序相同),所以您可以检查是否一个指定的动作是不是失败了。  

标签:customer,name,命令,external,PUT,POST,id,es
来源: https://www.cnblogs.com/msboke/p/16386654.html