1、簡介
這裏參考ES的的官方說明文檔,對ES集羣設置和檢查常用的API進行總結
2、內容
查詢使用_cat查看
1、檢查集羣的健康狀態
GET /_cat/health?v
綠色——一切正常(集羣功能齊全)
黃色——所有數據可用,但有些副本尚未分配(集羣功能完全)
紅色——有些數據由於某種原因不可用(集羣部分功能)
2、集羣中所有的節點
GET /_cat/nodes?v
3、展示所有的index
GET /_cat/indices?v
4、創建index
PUT /customer?pretty
說明:customer爲創建的index的名稱,pretty是漂亮的打印json響應(在創建index的時候可以不用加pretty)。
查詢indices具體信息爲(GET /_cat/indices?v):
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open customer 95SQ4TSUT7mWBT7VNHH67A 1 1 0 0 260b 260b
其中:健康狀態爲yellow,因爲es默認爲每個index創建一個複本,而在我的機器中只啓動了一個節點,無法爲index創建複本,所以展示爲yellow。同時,上面信息展示了它的主本(primary)和副本(replica)只有一個,文檔的數量爲零。
5、創建和查詢文檔
PUT /customer/_doc/1?pretty
{
"name": "John Doe"
}
說明,_doc是我們自己定義的type名稱,1是我們創建的id,?pretty跟之前的含義相同,只是用於渲染展示返回json。es中的index不需要事先創建,也就是customer可以沒有創建,直接創建文檔時定義即可,系統會檢測index有沒有創建,如果不存在,默認創建一個新的index。同時id也可以不用明確的指定,如果不指定id,則將put改爲post方法,系統會默認爲我們創建一個index。這裏創建只是爲了方便我們查詢。我們將使用下面的命令查詢文檔。
GET /customer/_doc/1?pretty
結果爲:
{
"_index" : "customer",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 25,
"_primary_term" : 1,
"found" : true,
"_source" : { "name": "John Doe" }
}
在結果中有兩個比較重要的key,其中是“found”表示一個document是否能夠查詢到,另一個“_source”表示我們上傳文檔的內容,我們在上一步中上傳的json是什麼樣子,source中的json將會是什麼樣子
6、刪除index
DELETE /customer?pretty