日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Elasticsearch集群和索引常用命令

發布時間:2025/7/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Elasticsearch集群和索引常用命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.cnblogs.com/pilihaotian/p/5846173.html

REST API用途

ES提供了很多全面的API,大致可以分成如下幾種:

1 檢查集群、節點、索引的健康情況

2 管理集群、節點,索引數據、元數據

3 執行CRUD,創建、讀取、更新、刪除 以及 查詢

4 執行高級的查詢操作,比如分頁、排序、腳本、聚合等

查看集群狀態

可以通過CURL命令發送REST命令,查詢集群的健康狀態:

curl 'localhost:9200/_cat/health?v'

Localhost是主機的地址,9200是監聽的端口號,ES默認監聽的端口號就是9200.

這里需要注意的是,windows下安裝的CURL有可能不支持單引號,如果有報錯,還請改成雙引號,內部使用轉義字符轉義。

得到的相應結果。

可以看到集群的名字是默認的"elasticsearch",集群的狀態時"green"。這個顏色之前也有說過:

1 綠色,最健康的狀態,代表所有的分片包括備份都可用

2 黃色,基本的分片可用,但是備份不可用(也可能是沒有備份)

3 紅色,部分的分片可用,表明分片有一部分損壞。此時執行查詢部分數據仍然可以查到,遇到這種情況,還是趕快解決比較好。

上面的結果還可以看到,目前有一個節點,但是沒有分片,這是因為我們的ES中還沒有數據,一次也就沒有分片。

?

當使用elasticsearch作為集群名字時,會使用單播,查詢本機上是否還運行著其他的節點。如果有,則組成一個集群。

(如果使用其他的名字作為集群名字,那么就可能采用多播了!這個在工作中,經常會遇到,大家使用的是一個集群名字,分片總是被搞在一起,導致有人的機器下線后,自己的也無法使用)

?

通過下面的命令,可以查詢節點的列表:

curl 'localhost:9200/_cat/nodes?v'

?

查看所有的索引

在ES中索引有兩個意思:

1 動詞的索引,表示把數據存儲到ES中,提供搜索的過程;這期間可能正在執行一個創建搜索的過程。

2 名字的索引,它是ES中的一個存儲類型,與數據庫類似,內部包含type字段,type中包含各種文檔。

通過下面的命令可以查看所有的索引:

curl 'localhost:9200/_cat/indices?v'

得到的結果如下:

curl 'localhost:9200/_cat/indices?v' health index pri rep docs.count docs.deleted store.size pri.store.size

由于集群中沒有任何的數據,上面的結果中也就只包含列的信息了。

創建索引

下面是創建索引,以及查詢索引的例子:

curl -XPUT 'localhost:9200/customer?pretty' {"acknowledged" : true }curl 'localhost:9200/_cat/indices?v' 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。

索引和搜索文檔

之前說過,索引里面還有類型的概念,在索引文檔之前要先設置類型type。

執行的命令如下:

curl -XPUT 'localhost:9200/customer/external/1?pretty' -d ' {"name": "John Doe" }'

執行成功后會得到如下的信息:

{"_index" : "customer","_type" : "external","_id" : "1","_version" : 1,"created" : true }

注意2.0版本的ES在同一索引下,不同的類型,相同的字段名字,是不允許字段類型不一致的。

上面的例子中,為我們創建了一個文檔,并且id自動設置為1.

ES不需要再索引文檔前,不需要明確的創建索引,如果執行上面的命令,索引不存在,也會自動的創建索引。

執行下面的命令查詢,返回信息也如下:

curl -XGET 'localhost:9200/customer/external/1?pretty' {"_index" : "customer","_type" : "external","_id" : "1","_version" : 1,"found" : true, "_source" : { "name": "John Doe" } }

這里會新增兩個字段:

1 found 描述了請求信息

2 _source 為之前索引時的數據

刪除索引

執行下面的命令就可以刪除索引:

curl -XDELETE 'localhost:9200/customer?pretty'

返回結果:

{"acknowledged": true }

總結

總結上面涉及到的命令大致如下:

curl -XPUT 'localhost:9200/customer'//創建索引
//插入數據 curl -XPUT 'localhost:9200/customer/external/1'-d ' {"name": "John Doe" }' curl 'localhost:9200/customer/external/1'//查詢數據 curl -XDELETE 'localhost:9200/customer'//刪除索引

總結

以上是生活随笔為你收集整理的Elasticsearch集群和索引常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。