博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch常用操作API
阅读量:6669 次
发布时间:2019-06-25

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

1. 查询所有的索引

[root@Server01 cx]# curl '10.0.0.5:9200/_cat/indices?v'health status index    pri rep docs.count docs.deleted store.size pri.store.size yellow open   customer   5   1          2            0      6.6kb          6.6kb yellow open   bank       5   1       1000            0    442.1kb        442.1kb

2. 查询bank表中的所有数据

[root@Server01 cx]# curl '10.0.0.5:9200/bank/_search?q=*&pretty'{  "took" : 41,  "timed_out" : false,  "_shards" : {    "total" : 5,    "successful" : 5,    "failed" : 0  },  "hits" : {    "total" : 1000,    "max_score" : 1.0,    "hits" : [ {      "_index" : "bank",      "_type" : "account",      "_id" : "25",      "_score" : 1.0,      "_source" : {        "account_number" : 25,        "balance" : 40540,        "firstname" : "Virginia",        "lastname" : "Ayala",        "age" : 39,        "gender" : "F",        "address" : "171 Putnam Avenue",        "employer" : "Filodyne",        "email" : "virginiaayala@filodyne.com",        "city" : "Nicholson",        "state" : "PA"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "44",      "_score" : 1.0,      "_source" : {        "account_number" : 44,        "balance" : 34487,        "firstname" : "Aurelia",        "lastname" : "Harding",        "age" : 37,        "gender" : "M",        "address" : "502 Baycliff Terrace",        "employer" : "Orbalix",        "email" : "aureliaharding@orbalix.com",        "city" : "Yardville",        "state" : "DE"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "99",      "_score" : 1.0,      "_source" : {        "account_number" : 99,        "balance" : 47159,        "firstname" : "Ratliff",        "lastname" : "Heath",        "age" : 39,        "gender" : "F",        "address" : "806 Rockwell Place",        "employer" : "Zappix",        "email" : "ratliffheath@zappix.com",        "city" : "Shaft",        "state" : "ND"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "119",      "_score" : 1.0,      "_source" : {        "account_number" : 119,        "balance" : 49222,        "firstname" : "Laverne",        "lastname" : "Johnson",        "age" : 28,        "gender" : "F",        "address" : "302 Howard Place",        "employer" : "Senmei",        "email" : "lavernejohnson@senmei.com",        "city" : "Herlong",        "state" : "DC"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "126",      "_score" : 1.0,      "_source" : {        "account_number" : 126,        "balance" : 3607,        "firstname" : "Effie",        "lastname" : "Gates",        "age" : 39,        "gender" : "F",        "address" : "620 National Drive",        "employer" : "Digitalus",        "email" : "effiegates@digitalus.com",        "city" : "Blodgett",        "state" : "MD"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "145",      "_score" : 1.0,      "_source" : {        "account_number" : 145,        "balance" : 47406,        "firstname" : "Rowena",        "lastname" : "Wilkinson",        "age" : 32,        "gender" : "M",        "address" : "891 Elton Street",        "employer" : "Asimiline",        "email" : "rowenawilkinson@asimiline.com",        "city" : "Ripley",        "state" : "NH"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "183",      "_score" : 1.0,      "_source" : {        "account_number" : 183,        "balance" : 14223,        "firstname" : "Hudson",        "lastname" : "English",        "age" : 26,        "gender" : "F",        "address" : "823 Herkimer Place",        "employer" : "Xinware",        "email" : "hudsonenglish@xinware.com",        "city" : "Robbins",        "state" : "ND"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "190",      "_score" : 1.0,      "_source" : {        "account_number" : 190,        "balance" : 3150,        "firstname" : "Blake",        "lastname" : "Davidson",        "age" : 30,        "gender" : "F",        "address" : "636 Diamond Street",        "employer" : "Quantasis",        "email" : "blakedavidson@quantasis.com",        "city" : "Crumpler",        "state" : "KY"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "208",      "_score" : 1.0,      "_source" : {        "account_number" : 208,        "balance" : 40760,        "firstname" : "Garcia",        "lastname" : "Hess",        "age" : 26,        "gender" : "F",        "address" : "810 Nostrand Avenue",        "employer" : "Quiltigen",        "email" : "garciahess@quiltigen.com",        "city" : "Brooktrails",        "state" : "GA"      }    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "222",      "_score" : 1.0,      "_source" : {        "account_number" : 222,        "balance" : 14764,        "firstname" : "Rachelle",        "lastname" : "Rice",        "age" : 36,        "gender" : "M",        "address" : "333 Narrows Avenue",        "employer" : "Enaut",        "email" : "rachellerice@enaut.com",        "city" : "Wright",        "state" : "AZ"      }    } ]  }}
  • took –  Elasticsearch执行查询的毫秒响应时间

  • timed_out – 是否超时

  • _shards – 查询过的分片,包含成功的分片和失败的分片

  • hits – 搜索结果

  • hits.total – 符合搜索结果的记录数

  • hits.hits – 默认显示前10条搜索结果

  • _score and max_score - ignore these fields for now

3. 另外一种查询全部结果的方法

curl -XPOST '10.0.0.5:9200/bank/_search?pretty' -d '{  "query": { "match_all": {} }}'

4. 分页排序的检索例子

[root@Server01 cx]# curl -XPOST '10.0.0.5:9200/bank/_search?pretty' -d '{  "query": { "match_all": {} },  "from": 10,  "size": 3,  "sort": { "balance": { "order": "desc" } }}'{  "took" : 8,  "timed_out" : false,  "_shards" : {    "total" : 5,    "successful" : 5,    "failed" : 0  },  "hits" : {    "total" : 1000,    "max_score" : null,    "hits" : [ {      "_index" : "bank",      "_type" : "account",      "_id" : "255",      "_score" : null,      "_source" : {        "account_number" : 255,        "balance" : 49339,        "firstname" : "Iva",        "lastname" : "Rivers",        "age" : 38,        "gender" : "M",        "address" : "470 Rost Place",        "employer" : "Mantrix",        "email" : "ivarivers@mantrix.com",        "city" : "Disautel",        "state" : "MD"      },      "sort" : [ 49339 ]    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "524",      "_score" : null,      "_source" : {        "account_number" : 524,        "balance" : 49334,        "firstname" : "Salas",        "lastname" : "Farley",        "age" : 30,        "gender" : "F",        "address" : "499 Trucklemans Lane",        "employer" : "Xumonk",        "email" : "salasfarley@xumonk.com",        "city" : "Noxen",        "state" : "AL"      },      "sort" : [ 49334 ]    }, {      "_index" : "bank",      "_type" : "account",      "_id" : "751",      "_score" : null,      "_source" : {        "account_number" : 751,        "balance" : 49252,        "firstname" : "Patrick",        "lastname" : "Osborne",        "age" : 23,        "gender" : "M",        "address" : "915 Prospect Avenue",        "employer" : "Gynko",        "email" : "patrickosborne@gynko.com",        "city" : "Takilma",        "state" : "MO"      },      "sort" : [ 49252 ]    } ]  }}

5. 添加文档,如果id存在则更新文档

[root@Server01 data]# curl -XPUT '10.0.0.5:9200/customer/external/1?pretty' -d '> {"name":"John Doe"}'{  "_index" : "customer",  "_type" : "external",  "_id" : "1",  "_version" : 1,  "_shards" : {    "total" : 2,    "successful" : 1,    "failed" : 0  },  "created" : true}[root@Server01 data]# curl -XPUT '10.0.0.5:9200/customer/external/1?pretty' -d '{"name":"Jane Doe"}'{  "_index" : "customer",  "_type" : "external",  "_id" : "1",  "_version" : 2,  "_shards" : {    "total" : 2,    "successful" : 1,    "failed" : 0  },  "created" : false}

6. 不指定Id时创建文档,可以发现自动生成一个随机Id

[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external?pretty' -d '{"name": "Jane Doe"}'{  "_index" : "customer",  "_type" : "external",  "_id" : "AVTh53KZ4Pj5B2ZQ2voK",  "_version" : 1,  "_shards" : {    "total" : 2,    "successful" : 1,    "failed" : 0  },  "created" : true}

7. 修改文档

[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/2/_update?pretty' -d '{"doc":{"name":"favourite boy","age":18}}'{  "_index" : "customer",  "_type" : "external",  "_id" : "2",  "_version" : 3,  "_shards" : {    "total" : 2,    "successful" : 1,    "failed" : 0  }}

8. 在开启javascript后,可以使用JS脚本更新文档

[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/2/_update?pretty' -d '{"script":"ctx._source.age+=5"}'

9. 删除文档

[root@Server01 data]# curl -XDELETE '10.0.0.5:9200/customer/external/1?pretty'{  "found" : true,  "_index" : "customer",  "_type" : "external",  "_id" : "1",  "_version" : 4,  "_shards" : {    "total" : 2,    "successful" : 1,    "failed" : 0  }}

10. 批量更新文档

[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/_bulk?pretty' -d '{"index":{"_id":"1"}}{"name": "John Doe" }{"index":{"_id":"2"}}{"name": "Jane Doe" }'{  "took" : 33,  "errors" : false,  "items" : [ {    "index" : {      "_index" : "customer",      "_type" : "external",      "_id" : "1",      "_version" : 3,      "_shards" : {        "total" : 2,        "successful" : 1,        "failed" : 0      },      "status" : 200    }  } ]}[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/_bulk?pretty' -d '> {"update":{"_id":"1"}}> {"doc": { "name": "John Doe becomes Jane Doe" } }> {"delete":{"_id":"2"}}> '{  "took" : 34,  "errors" : false,  "items" : [ {    "update" : {      "_index" : "customer",      "_type" : "external",      "_id" : "1",      "_version" : 4,      "_shards" : {        "total" : 2,        "successful" : 1,        "failed" : 0      },      "status" : 200    }  }, {    "delete" : {      "_index" : "customer",      "_type" : "external",      "_id" : "2",      "_version" : 5,      "_shards" : {        "total" : 2,        "successful" : 1,        "failed" : 0      },      "status" : 200,      "found" : true    }  } ]}

转载地址:http://qdoxo.baihongyu.com/

你可能感兴趣的文章
linq-ef中如何批量删除
查看>>
mvc2 To 4
查看>>
windows vlc推流演示
查看>>
TOP命令详解
查看>>
项目Alpha冲刺——总结
查看>>
代码高亮插件SyntaxHighlighter
查看>>
Matlab画图及GUI总结
查看>>
ubuntu下php7+mysql+nginx安装笔记
查看>>
【洛谷 P2430 严酷的训练】
查看>>
轻松掌握Ajax.net系列教程十四:使用CalendarExtender
查看>>
Oracle中Transate函数的使用
查看>>
echarts ajax数据加载方法
查看>>
第一天开博,试试发个贴
查看>>
C#中实现多继承的方法
查看>>
vscode笔记(一)- vscode自动生成文件头部注释和函数注释
查看>>
JS获取html对象的几种方式说明
查看>>
ACM题集以及各种总结大全(转)
查看>>
java EE初次理解
查看>>
zoj 2339 Hyperhuffman 哈夫曼编码 (c)
查看>>
PYTHON-基本数据类型-元祖类型,字典类型,集合类型
查看>>