查看刪除
curl -su elastic:qiaoning http://127.0.0.1:9200/_cat/indices
curl:一個命令行工具杀捻,用于發(fā)送 HTTP 請求。
-s:靜默模式称诗,不顯示進(jìn)度信息。
-u elastic:qiaoning:使用 elastic 用戶名和密碼進(jìn)行基本身份驗證岩齿。確保密碼安全太颤,不要在公共或不安全的環(huán)境中直接使用。
http://127.0.0.1:9200/_cat/indices:請求 Elasticsearch 的 _cat/indices API 來列出所有索引的信息盹沈。
輸出信息
執(zhí)行該命令后龄章,你會看到類似以下的信息:
green open my_index 1 0 100 0 100kb 50kb
yellow open another_index 5 1 500 10 1mb 500kb
每一行代表一個索引,包含以下信息:
狀態(tài)(如 green/yellow/red):指示索引的健康狀態(tài)乞封。
索引名稱:如 my_index做裙。
主分片數(shù)量:如 1。
副本分片數(shù)量:如 0肃晚。
文檔數(shù)量:如 100菇用。
刪除文檔數(shù)量:如 0。
主分片存儲大邢菥尽:如 100kb。
總存儲大性忧睢:如 50kb悍缠。
## 刪除命令
curl -su elastic:qiaoning http://127.0.0.1:9200/_cat/indices |grep gb | awk '{print $3}' |xargs -I{} curl -X DELETE -su elastic:qiaoning http://127.0.0.1:9200/{}
查詢集群狀態(tài)
curl -X GET "http://localhost:9200/_cluster/health?pretty"
檢查索引狀態(tài)
curl -X GET "http://localhost:9200/_cat/indices?v"
檢查節(jié)點信息
curl -X GET "http://localhost:9200/_nodes?pretty"
- 集群健康檢查
檢查集群健康狀態(tài)
curl -X GET "http://localhost:9200/_cluster/health?pretty"
檢查集群狀態(tài)
curl -X GET "http://localhost:9200/_cluster/stats?pretty" - 節(jié)點管理
獲取節(jié)點信息
curl -X GET "http://localhost:9200/_nodes?pretty"
獲取節(jié)點統(tǒng)計信息
curl -X GET "http://localhost:9200/_nodes/stats?pretty" - 索引管理
創(chuàng)建索引
curl -X PUT "http://localhost:9200/my_index?pretty"
刪除索引
curl -X DELETE "http://localhost:9200/my_index?pretty"
獲取索引信息
curl -X GET "http://localhost:9200/my_index?pretty"
獲取所有索引信息
curl -X GET "http://localhost:9200/_cat/indices?v"
打開索引
curl -X POST "http://localhost:9200/my_index/_open?pretty"
關(guān)閉索引
curl -X POST "http://localhost:9200/my_index/_close?pretty" - 文檔管理
索引文檔
curl -X POST "http://localhost:9200/my_index/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"field1": "value1",
"field2": "value2"
}'
獲取文檔
curl -X GET "http://localhost:9200/my_index/_doc/1?pretty"
刪除文檔
curl -X DELETE "http://localhost:9200/my_index/_doc/1?pretty" - 快照與恢復(fù)
創(chuàng)建快照倉庫
curl -X PUT "http://localhost:9200/_snapshot/my_backup?pretty" -H 'Content-Type: application/json' -d'
{
"type": "fs",
"settings": {
"location": "/mount/backups/my_backup"
}
}'
創(chuàng)建快照
curl -X PUT "http://localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true&pretty"
恢復(fù)快照
curl -X POST "http://localhost:9200/_snapshot/my_backup/snapshot_1/_restore?wait_for_completion=true&pretty" - 監(jiān)控與調(diào)試
獲取集群狀態(tài)
curl -X GET "http://localhost:9200/_cluster/state?pretty"
獲取集群健康狀態(tài)
curl -X GET "http://localhost:9200/_cluster/health?pretty"
獲取索引統(tǒng)計信息
curl -X GET "http://localhost:9200/my_index/_stats?pretty"
獲取段信息
curl -X GET "http://localhost:9200/my_index/_segments?pretty" - 集群管理
更新集群設(shè)置
curl -X PUT "http://localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
"persistent": {
"indices.recovery.max_bytes_per_sec": "50mb"
}
}'
GET /uri/xxx 查看(相當(dāng)于數(shù)據(jù)庫中的select操作),即通過請求URL獲得資源耐量。
PUT /uri/xxx 更新/創(chuàng)建(相當(dāng)于數(shù)據(jù)庫中的update操作)飞蚓,即通過請求URL修改某個內(nèi)容。
POST /uri 創(chuàng)建 (相當(dāng)于數(shù)據(jù)庫中的insert操作)廊蜒,即通過請求URL添加新的資源趴拧,用于表單提交。
DELETE /uri/xxx 刪除 (相當(dāng)于數(shù)據(jù)庫中的delete操作)山叮,即通過請求URL刪除某個內(nèi)容著榴。
1)GET請求:得到或查看數(shù)據(jù)
GET請求會向數(shù)據(jù)庫發(fā)索取數(shù)據(jù)的請求,從而來獲取信息屁倔,該請求就像數(shù)據(jù)庫的select操作一樣脑又,只是用來查詢一下數(shù)據(jù),不會修改锐借、增加數(shù)據(jù)问麸,不會影響資源的內(nèi)容。
也就是說GET請求不會產(chǎn)生副作用钞翔。無論進(jìn)行多少次操作严卖,結(jié)果都是一樣的。
2)PUT請求:在已經(jīng)存在的數(shù)據(jù)上更新數(shù)據(jù)
與GET請求不同的是布轿,PUT請求是向服務(wù)器端發(fā)送數(shù)據(jù)的哮笆,從而改變信息来颤,該請求就像數(shù)據(jù)庫的update操作一樣,用來修改數(shù)據(jù)的內(nèi)容疟呐,但是不會增加數(shù)據(jù)的種類等脚曾。
也就是說無論進(jìn)行多少次PUT操作,其結(jié)果并沒有不同启具。
3)POST請求:創(chuàng)建數(shù)據(jù)
POST請求同PUT請求類似本讥,都是向服務(wù)器端發(fā)送數(shù)據(jù)的,但是該請求會改變數(shù)據(jù)的種類等資源鲁冯,就像數(shù)據(jù)庫的insert操作一樣拷沸,會創(chuàng)建新的內(nèi)容。
幾乎目前所有的提交操作都是默認(rèn)用POST請求的薯演。
4)DELETE請求:刪除數(shù)據(jù)
DELETE請求顧名思義撞芍,就是用來刪除某一個資源的,該請求就像數(shù)據(jù)庫的delete操作跨扮。
1)GET請求的操作是安全的序无。
所謂安全是指不管進(jìn)行多少次操作,資源的狀態(tài)都不會改變衡创。比如用GET請求方式瀏覽文章帝嗡,不管瀏覽多少次,那篇文章還在那璃氢,沒有變化哟玷。
當(dāng)然有人可能會說每瀏覽一次文章,文章的瀏覽數(shù)就增加一次一也,這不也改變了資源的狀態(tài)么巢寡。
其實這并不矛盾,因為這個改變不是GET操作引起的椰苟,而是用戶自己設(shè)定的服務(wù)端邏輯造成的抑月。
2)PUT,DELETE請求的操作是冪等的尊剔。
所謂冪等:是指無論進(jìn)行多少次重復(fù)操作爪幻,都是實現(xiàn)相同的結(jié)果。也就是說若輸入相同的參數(shù)執(zhí)行任意次結(jié)果相同须误,則為等冪操作0じ濉!>┝ 奶甘!
比如我用PUT修改一篇文章,然后在做同樣的操作祭椰,每次操作后的結(jié)果并沒有不同臭家,DELETE也是一樣疲陕。
順便說一句,因為GET操作是安全的钉赁,所以它自然也是冪等的蹄殃。
3)POST操作既不是安全的,也不是冪等的
比如常見的POST重復(fù)加載問題:當(dāng)多次發(fā)出同樣的POST請求后你踩,其結(jié)果是創(chuàng)建出了若干的資源诅岩。
4)安全和冪等的意義在于:
當(dāng)操作沒有達(dá)到預(yù)期的目標(biāo)時,我們可以不停的重試带膜,而不會對資源產(chǎn)生副作用吩谦。從這個意義上說,POST操作往往是有害的膝藕,但很多時候我們還是不得不使用它式廷。
5)需要注意事項
創(chuàng)建操作可以使用POST請求,也可以使用PUT請求芭挽!區(qū)別在于:
POST 是作用在一個集合資源之上的(/uri)滑废,而PUT操作是作用在一個具體資源之上的(/uri/xxx)。
再通俗點說袜爪,如果URL可以在客戶端確定策严,那么就使用PUT請求,如果是在服務(wù)端確定饿敲,那么就使用POST請求。
比如說很多資源使用數(shù)據(jù)庫自增主鍵作為標(biāo)識信息逛绵,而創(chuàng)建的資源的標(biāo)識信息到底是什么只能由服務(wù)端提供怀各,這個時候就必須使用POST請求方法了。
所以术浪,簡單總結(jié)下:
GET瓢对,POST,PUT都是冪等性操作胰苏,而POST不是冪等性操作硕蛹;
GET:不管對資源查詢多少次,此實現(xiàn)都是一樣的
PUT:將A第一次修改成B硕并,再進(jìn)行多次操作法焰,最終結(jié)果還是還算B,與第一次寫的結(jié)果是一樣的倔毙,所有PUT是
DELETE:第一次把資源刪除以后埃仪,后面進(jìn)行多少次操作都算資源被刪除
POST: 不是,因為一次請求添加一份新的資源陕赃,二次請求是乎產(chǎn)生不同的結(jié)
1)GET請求 和 POST請求
從字面意思就可以看出兩者區(qū)別卵蛉,一個是GET(獲劝涔伞),一個是POST(發(fā)送)傻丝。
GET方法的請求用來告訴服務(wù)器需要獲取哪些內(nèi)容(uri+query)甘有,向靜態(tài)頁面(uri)請求則直接返回文件內(nèi)容給瀏覽器,向一個動態(tài)頁面請求時可以
提供查詢參數(shù)(query)以獲得相應(yīng)內(nèi)容葡缰。
POST方法的請求用來向服務(wù)器提交內(nèi)容亏掀,主要是為了提交,而不是為了請求內(nèi)容运准,就是說POST的初衷并不要求服務(wù)器返回內(nèi)容幌氮,只是提交內(nèi)容讓服務(wù)器
處理(主要是存儲或者處理之后再存儲)。
2)PUT請求 和 POST請求
PUT請求主要作用在一個具體資源之上的(即uri/xxx)胁澳,POST請求主要作用在一個集合資源之上的(即uri)
就是說该互,如果URL可以在客戶端確定就使用PUT請求,如果URL在服務(wù)端確定就使用POST請求韭畸。
PUT請求和POST請求容器混淆的就是它們都可以修改數(shù)據(jù)宇智。它們的區(qū)別在于是否等冪:PUT請求是等冪操作,而POST請求是不等冪操作胰丁。
所以POST方式每執(zhí)行一次會增加一條數(shù)據(jù)随橘,而PUT請求是在已經(jīng)存在的數(shù)據(jù)上進(jìn)行修改。
也就是說POST方式一般用于增加數(shù)據(jù)锦庸,POST方式用于修改已有數(shù)據(jù)机蔗。