//
// 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状态的,部分索引有数据丢失了
2 创建索引 mydb
PUT /mydb?pretty
3 获取所有索引
GET /_cat/indices?v
4 插入文档 到 mydb 索引,类型名称为 external ,并且ID为1
PUT /mydb/external/1?pretty
{
"name": "成龙",
"age":30,
"date":"2018-04-12 12:01:01"
}
注意:如果我们用不同的文档内容(或者相同)再次执行上面的命令,elasticsearch将会用一个新的文档取代旧的文档(即重建索引)。
5 插入文档 到 mydb 索引,类型名称为 external ,不指定id, 必须用POST
POST /mydb/external?pretty
{
"name": "王鹏",
"age":28,
"date":"2018-04-11 13:01:01"
}
6 修改id=1的文档
POST /mydb/external/1/_update?pretty
{
"doc": { "name": "成龙-01","age":31 }
}
7 通过内置脚本修改,修改id=XJ7uwmIBJNOIwaI44rwX 的文档
POST /mydb/external/XJ7uwmIBJNOIwaI44rwX/_update?pretty
{
"script" :{
"lang":"painless",
"inline":"ctx._source.age += 10"
}
}
8 通过内置脚本参数修改,修改id=XJ7uwmIBJNOIwaI44rwX 的文档
POST /mydb/external/XJ7uwmIBJNOIwaI44rwX/_update?pretty
{
"script" :{
"lang":"painless",
"inline":"ctx._source.age = params.age",
"params":{
"age":100
}
}
}
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": "新人" }