es命令行用法

轉載於:Khttps://www.ituring.com.cn/book/tupubarticle/18380

1. 索引相關操作

  • 先查詢ES集羣中有哪些索引。
curl localhost:9200/_cat/indices
  • 返回空,這時候ES剛剛創建,還沒有索引數據庫。我們先創建一個索引(包括類型,文檔)。
curl -H "Content-Type: application/json" -XPUT localhost:9200/megacorp/employee/1?pretty -d '{   
"first_name" : "John",   
"last_name" :  "Smith",    
"age" :  25,    
"about" :  "I love to go rock climbing",    
"interests": [ "sports", "music" ]
}'

指定的新文檔的主鍵是1,如果不知道ES會自動分配主鍵。?pretty讓輸出結果顯示更美觀(換行縮進方式),-d指定文檔內容
在這裏插入圖片描述

  • 再查詢索引列表:
curl localhost:9200/_cat/indices?v

在這裏插入圖片描述
ES的數據目錄裏也創建了相應的文件
在這裏插入圖片描述
這裏的data是ES集羣的數據所在的根目錄,nodes下是集羣的節點列表,有多少節點就有多少個子目錄,這裏只有一個名稱爲“0”的子目錄,說明nodes下只有一個節點,如果再加一臺服務器就會有“0”和“1”兩個子目錄。
hY7njCY1QZyJMllLA5fbAg是我們這個索引的uuid,裏面有0、1、2、3、4五個子目錄,代表了五個分片。ES默認對每個索引會分配5個分片,每個分片裏數據再進行分段,segments_3就是第一個分段,數據會保存在分段裏。如果是集羣配置,則每個分片根據配置參數會存在多個副本。

當索引中的數據(也就是文檔)量超過原定的分區容量時,無法保存新的數據,這時候ES要進行數據遷移,數據遷移一般是新建一個索引,給這個新索引分配足夠的分區數,再將數據移到新索引中。新索引的創建是很消耗資源的,因此最好在創建一個索引前預先計算好容量需求。

  • 刪除索引:
curl -XDELETE localhost:9200/megacorp?pretty

查詢整個索引的情況:

curl -XGET localhost:9200/megacorp?pretty

還可以用_search命令來查詢索引裏的具體文檔,不帶任何參數查詢所有文檔:

curl -XGET localhost:9200/megacorp/_search?pretty

更多見:
Khttps://www.ituring.com.cn/book/tupubarticle/18380

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