ES7(ElasticSearch7) 操作集羣基礎

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

3、參考資料

ES文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章