一、Cluster Health
可以通過CURL指令發送REST指令,查詢叢集的健康狀态:
curl '192.168.56.101:9200/_cat/health?v'
參數說明
192.168.56.101是主機的IP位址,9200是監聽的端口号,Elasticsearch預設監聽的端口号就是9200
得到相應的結果,詳細相信請檢視附件(cluster健康檢查)
可以看到叢集的名字是預設的"elasticsearch",叢集的狀态時"yellow"。各種顔色的說明如下:
1 綠色,最健康的狀态,代表所有的分片包括備份都可用
2 ×××,基本的分片可用,但是備份不可用(也可能是沒有備份)
3 紅色,部分的分片可用,表明分片有一部分損壞。此時執行查詢部分資料仍然可以查到,遇到這種情況,還是趕快解決比較好。
可以通過下面的指令,查詢節點清單
curl '192.168.56.101:9200/_cat/nodes?v'
host ip heap.percent ram.percent load node.role master name 192.168.56.101 192.168.56.101 7 31 0.12 d * my_node_name
二、List All Indices
在Elasticsearch中索引有兩個意思:
1 動詞的索引,表示把資料存儲到Elasticsearch中,提供搜尋的過程;這期間可能正在執行一個建立搜尋的過程。
2 名字的索引,它是Elasticsearch中的一個存儲類型,與資料庫類似,内部包含type字段,type中包含各種文檔。
檢視所有的索引,詳情請檢視附件(索引資訊)
curl '192.168.56.101:9200/_cat/indices?v'
如果叢集中沒有任何的資料,結果中隻會包含列的資訊。
三、Create an Index
下面建立索引以及查詢的例子
curl -XPUT '192.168.56.101:9200/customer?pretty'{
"acknowledged" : true}
health index pri rep docs.count docs.deleted store.size pri.store.size
yellow customer 5 1 0 0 495b 495b
上面的結果中,customer索引的狀态是yellow,這是因為此時雖然有5個主分片和一個備份。但是由于隻是單個節點,
我們的分片還在運作中,無法動态的修改。是以當有其他的節點加入到叢集中,備份的節點會被拷貝到另一個節點中
,狀态就會變成green
四、Index and query a Document
索引裡面還有類型的概念,在索引文檔之前要先設定類型type。
執行的指令如下:
curl -XPUT '192.168.56.101:9200/customer/external/1?pretty' -d '
> {
> "name": "John Doe"
> }'
執行成功後會得到如下資訊
{
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : true
}
注意2.0版本的ES在同一索引下,不同的類型,相同的字段名字,是不允許字段類型不一緻的。
執行下面的指令查詢,傳回資訊也如下:
[root@sigmam1 config]# curl -XGET '192.168.56.101:9200/customer/external/1?pretty'
"found" : true,
"_source" : {
"name" : "John Doe"
}
這裡會新增兩個字段
found 描述了請求資訊
_source為之前索引時的資料
五、删除索引
curl -XDELETE '192.168.56.101:9200/customer?pretty'
傳回結果
"acknowledged" : true
六、Summary
--建立索引
curl -XPUT '192.168.56.101:9200/customer'
--插入資料
curl -XPUT '192.168.56.101:9200/customer/external/1' -d ''
"name":"John Doe"
'
--查詢資料
curl '192.168.56.101:9200/customer/external/1'