详解Elasticsearch如何把一个索引变为只读
短信预约 -IT技能 免费直播动态提醒
正文
将索引设置为只读可能听起来很奇怪,但在 Elasticsearch 中执行此类操作是可能的。想象一下这样一种情况,你特别需要限制对索引的写入操作,无论是维护、业务规则还是任何其他原因。让我们学习如何将索引配置为已读以及如何撤消操作。
我们先使用如下的命令来创建一个叫做 test 的索引:
PUT test/_doc/1
{
"content": "I am xiaoguo from Elastic"
}
设置为只读
要进行此更改,我们需要更新索引设置。 下面的命令将使索引成为只读的。
PUT /test/_settings
{
"index": {
"blocks": {
"write": true
}
}
}
执行完上面的命令后,我们可以再接着创建一个如下的一个文档:
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
}
要恢复只需将状态从 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如何把一个索引变为只读的详细内容,更多关于Elasticsearch索引变只读的资料请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341