当前使用的ES版本为 7.2
1. 查看集群健康状况
查看健康信息:
curl -X GET "localhost:9200/_cat/health?v"
其中的status
是集群的状态信息,包括:
Green -- 一切正常
Yellow -- 所有的数据是可用的,集群整体功能时可用的,但有些副本不正常(例如定位不到了)
Red -- 有些数据不可用,集群功能部分可用
查看节点信息:
curl -X GET "localhost:9200/_cat/nodes?v"
可以看到集群中每个节点的IP、名称、负载状况等信息。
2. 列出所有索引
curl -X GET "localhost:9200/_cat/indices?v"
显示每个索引的状态、文档数量、存储大小等信息。
3. 创建索引
创建一个名为customer的索引:
curl -X PUT "localhost:9200/customer?pretty"
索引列表:
curl -X GET "localhost:9200/_cat/indices?v"
可以看到刚创建的 customer,但会发现其health是yellow,yellow表示其副本不正常,这是因为我当前的集群只有一个节点,所以副本无法定位,当有新节点加入时即可正常。
4. 添加和查询文档
添加一个文档到customer索引:
curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"name": "John Doe"
}
'
返回信息:
{
"_index" : "customer",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1
}
es并不要求事先创建好索引,在添加文档时如果索引不存在,会自动创建
查询ID为1的文档:
curl -X GET "localhost:9200/customer/_doc/1?pretty"
返回信息:
{
"_index" : "customer",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"name" : "John Doe"
}
}
"found" : true
表示找到了目标文档。
_source
包含文档内容。
查看集群中文档数量:
curl -X GET 'localhost:9200/_count?pretty' -H 'Content-Type: application/json' -d ' {
"query": { "match_all": {}}
}
'
5. 删除索引
删除名为customer的索引:
curl -X DELETE "localhost:9200/customer?pretty"
列出所有索引:
curl -X GET "localhost:9200/_cat/indices?v"
6. 基础操作小结
curl -X PUT "localhost:9200/customer"
curl -X PUT "localhost:9200/customer/_doc/1" -H 'Content-Type: application/json' -d'
{
"name": "John Doe"
}
'
curl -X GET "localhost:9200/customer/_doc/1"
curl -X DELETE "localhost:9200/customer"