詳解Elasticsearch如何把一個索引變?yōu)橹蛔x
正文
將索引設(shè)置為只讀可能聽起來很奇怪,但在 Elasticsearch 中執(zhí)行此類操作是可能的。想象一下這樣一種情況,你特別需要限制對索引的寫入操作,無論是維護(hù)、業(yè)務(wù)規(guī)則還是任何其他原因。讓我們學(xué)習(xí)如何將索引配置為已讀以及如何撤消操作。
我們先使用如下的命令來創(chuàng)建一個叫做 test 的索引:
PUT test/_doc/1
{
"content": "I am xiaoguo from Elastic"
}
設(shè)置為只讀
要進(jìn)行此更改,我們需要更新索引設(shè)置。 下面的命令將使索引成為只讀的。
PUT /test/_settings
{
"index": {
"blocks": {
"write": true
}
}
}
執(zhí)行完上面的命令后,我們可以再接著創(chuàng)建一個如下的一個文檔:
PUT test/_doc/2
{
"content": "I am an evangelist as well"
}
我們可以看到如下的一個響應(yīng):
{
"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
}
要恢復(fù)只需將狀態(tài)從 true 更改為 false。我們試著運(yùn)行如下的命令:
PUT /test/_settings
{
"index": {
"blocks": {
"write": false
}
}
}
我們再次寫入我們想要的文檔。我們可以看到這次的寫入是成功的:
PUT test/_doc/2
{
"content": "I am an evangelist as well"
}
上面的響應(yīng)為:
{
"_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的詳細(xì)內(nèi)容,更多關(guān)于Elasticsearch索引變只讀的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring Security基于數(shù)據(jù)庫的ABAC屬性權(quán)限模型實(shí)戰(zhàn)開發(fā)教程
這篇文章主要介紹了Spring Security基于數(shù)據(jù)庫的ABAC屬性權(quán)限模型實(shí)戰(zhàn)開發(fā)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2025-04-04
Java線程池的幾種實(shí)現(xiàn)方法和區(qū)別介紹實(shí)例詳解
本篇文章主要介紹了Java線程池的幾種實(shí)現(xiàn)方法和區(qū)別,需要的朋友可以參考2017-04-04
Spring中的注解@Autowired實(shí)現(xiàn)過程全解(@Autowired 背后的故事)
這篇文章主要介紹了Spring中的注解@Autowired實(shí)現(xiàn)過程全解,給大家聊聊@Autowired 背后的故事及實(shí)現(xiàn)原理,需要的朋友可以參考下2021-07-07
Java JVM字節(jié)碼指令集總結(jié)整理與介紹
本節(jié)將會著重介紹一下JVM中的指令集、Java是如何跨平臺的、JVM指令集參考手冊等內(nèi)容。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09

