ES 学习一-集群基本操作

262 阅读1分钟

PS:环境搭建忽略

基本集群操作

集群健康信息

curl -X GET "localhost:9200/_cat.health?v"

集群节点列表

GET /_cat/nodes?v

索引基本操作

集群中的索引信息

GET /_cat/indices?v

创建一个索引

PUT /test?pretty

删除一个索引

DELETE /test?pretty

数据基本操作

插入文档

  • 带ID
PUT /test/_doc/1?pretty
{
    "name":"tt"
}
  • 不带ID,ES会生成一个随机ID
POST /test/_doc?pretty
{
    "name":"tt"
}

更新文档

POST /test/_update/1?pretty
{
    "doc":{
        "name":"lyt",
        "age":10
    }
}

通过脚本执行更新

POST /test/_update/1?pretty
{
    "script":"ctx._source.age += 5"
}

ctx._source指的是见过更新的当前源文档

删除文档

DELETE /test/_doc/1?pretty

ES中,删除操作只是把需要删的文档ID记录到了一个列表中,当段合并时才有可能真正把源文档删除

批量操作

POST /test/_bulk?pretty
{"index":{"_id":"1"}}
{"name":"bulk1", "age":10}
{"index":{"_id":"2"}}
{"name":"bulk2", "age":10}
{"index":{"_id":"3"}}
{"name":"bulk 3", "age":10}
{"index":{"_id":"4"}}
{"name":"bulk 4", "age":20}
{"index":{"_id":"5"}}
{"name":"a bulk 5", "age":30}
{"index":{"_id":"6"}}
{"name":"abulk bb6", "age":40}

批量操作不会由于其中一个操作失败而失败。当API返回时,它会为每个操作提供一个状态。