天天看点

Elasticsearch常用CURD命令

// // Elasticsearch 指令 //

1 查看健康状态 // http://localhost:9200/_cat/health?v GET /_cat/health?v

集群的健康值理解 green:每个索引的primary shard和replica shard都是active状态的 yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态(比如单台机器上副本无法被分配),处于不可用的状态 red:不是所有索引的primary shard都是active状态的,部分索引有数据丢失了

Elasticsearch常用CURD命令

2 创建索引 mydb PUT /mydb?pretty

Elasticsearch常用CURD命令

3 获取所有索引 GET /_cat/indices?v

Elasticsearch常用CURD命令

4 插入文档 到 mydb 索引,类型名称为 external ,并且ID为 1 PUT /mydb/external/ 1?pretty { "name": "成龙", "age": 30, "date": "2018-04-12 12:01:01" }

注意:如果我们用不同的文档内容(或者相同)再次执行上面的命令,elasticsearch将会用一个新的文档取代旧的文档(即重建索引)。

Elasticsearch常用CURD命令

5 插入文档 到 mydb 索引,类型名称为 external ,不指定id, 必须用POST

POST /mydb/external?pretty { "name": "王鹏", "age": 28, "date": "2018-04-11 13:01:01" }

Elasticsearch常用CURD命令

6 修改id= 1的文档 POST /mydb/external/ 1/_update?pretty { "doc": { "name": "成龙-01", "age": 31 } }

Elasticsearch常用CURD命令

7 通过内置脚本修改,修改id=XJ 7uwmIBJNOIwaI 44rwX 的文档 POST /mydb/external/XJ 7uwmIBJNOIwaI 44rwX/_update?pretty { "script" :{ "lang": "painless", "inline": "ctx._source.age += 10" } }

8 通过内置脚本参数修改,修改id=XJ 7uwmIBJNOIwaI 44rwX 的文档 POST /mydb/external/XJ 7uwmIBJNOIwaI 44rwX/_update?pretty { "script" :{ "lang": "painless", "inline": "ctx._source.age = params.age", "params":{ "age": 100 } } }

Elasticsearch常用CURD命令
Elasticsearch常用CURD命令

9 删除文档 DELETE /mydb/external/ 3?pretty

10 批处理 更新id= 1 删除id= 2 插入id= 3 POST /mydb/external/_bulk?pretty { "update":{ "_id": "1"}} { "doc": { "name": "jack" } } { "delete":{ "_id": "2"}} { "index":{ "_id": "3"}} { "name": "新人" }

Elasticsearch常用CURD命令

继续阅读