詳解Elasticsearch如何把一個索引變?yōu)橹蛔x
正文
將索引設置為只讀可能聽起來很奇怪,但在 Elasticsearch 中執(zhí)行此類操作是可能的。想象一下這樣一種情況,你特別需要限制對索引的寫入操作,無論是維護、業(yè)務規(guī)則還是任何其他原因。讓我們學習如何將索引配置為已讀以及如何撤消操作。
我們先使用如下的命令來創(chuàng)建一個叫做 test 的索引:
PUT test/_doc/1
{
"content": "I am xiaoguo from Elastic"
}
設置為只讀
要進行此更改,我們需要更新索引設置。 下面的命令將使索引成為只讀的。
PUT /test/_settings
{
"index": {
"blocks": {
"write": true
}
}
}
執(zhí)行完上面的命令后,我們可以再接著創(chuàng)建一個如下的一個文檔:
PUT test/_doc/2
{
"content": "I am an evangelist as well"
}
我們可以看到如下的一個響應:
{
"error": {
"root_cause": [
{
"type": "cluster_block_exception",
"reason": "index [test] blocked by: [FORBIDDEN/8/index write (api)];"
}
],
"type": "cluster_block_exception",
"reason": "index [test] blocked by: [FORBIDDEN/8/index write (api)];"
},
"status": 403
}
要恢復只需將狀態(tài)從 true 更改為 false。我們試著運行如下的命令:
PUT /test/_settings
{
"index": {
"blocks": {
"write": false
}
}
}
我們再次寫入我們想要的文檔。我們可以看到這次的寫入是成功的:
PUT test/_doc/2
{
"content": "I am an evangelist as well"
}
上面的響應為:
{
"_index": "test",
"_id": "2",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 1
}
希望這個能幫助到你。
以上就是詳解Elasticsearch如何把一個索引變?yōu)橹蛔x的詳細內(nèi)容,更多關于Elasticsearch索引變只讀的資料請關注腳本之家其它相關文章!
相關文章
Spring Security基于數(shù)據(jù)庫的ABAC屬性權限模型實戰(zhàn)開發(fā)教程
這篇文章主要介紹了Spring Security基于數(shù)據(jù)庫的ABAC屬性權限模型實戰(zhàn)開發(fā)教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2025-04-04
Java線程池的幾種實現(xiàn)方法和區(qū)別介紹實例詳解
本篇文章主要介紹了Java線程池的幾種實現(xiàn)方法和區(qū)別,需要的朋友可以參考2017-04-04
Spring中的注解@Autowired實現(xiàn)過程全解(@Autowired 背后的故事)
這篇文章主要介紹了Spring中的注解@Autowired實現(xiàn)過程全解,給大家聊聊@Autowired 背后的故事及實現(xiàn)原理,需要的朋友可以參考下2021-07-07

