详解Elasticsearch如何把一个索引变为只读

作者:Elasticsearch 时间:2023-01-22 12:00:59 

将索引设置为只读可能听起来很奇怪,但在 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
 }

希望这个能帮助到你。

来源:https://juejin.cn/post/7196699593836331068

标签:Elasticsearch,索引,只读
0
投稿

猜你喜欢

  • android 进度条组件ProgressBar

    2023-10-20 15:05:33
  • Android自定义SwipeLayout仿QQ侧滑条目

    2023-12-06 14:24:25
  • 详解Spring Boot Security工作流程

    2023-12-17 12:23:52
  • java9开始——接口中可以定义private私有方法

    2023-03-27 06:53:15
  • java自定义ClassLoader加载指定的class文件操作

    2022-03-16 16:19:07
  • Unity实现弧形移动效果

    2023-08-03 20:58:51
  • 关于JDK8中的字符串拼接示例详解

    2021-10-27 13:38:59
  • springsecurity 企业微信登入的实现示例

    2023-06-16 16:39:35
  • Java调用第三方http接口的常用方式总结

    2023-11-06 22:47:24
  • 浅谈Android View滑动冲突的解决方法

    2021-12-17 06:47:09
  • Spring的Aware接口实现及执行顺序详解

    2023-03-09 09:50:53
  • springboot配置aop切面日志打印过程解析

    2022-07-10 13:14:09
  • Android 蓝牙连接 ESC/POS 热敏打印机打印实例(蓝牙连接篇)

    2021-12-02 10:21:18
  • java 实现线程同步的方式有哪些

    2023-01-13 01:26:14
  • Android小程序实现简易QQ界面

    2023-07-03 20:29:52
  • 在WPF中实现全局快捷键功能

    2023-12-02 07:45:39
  • java设计模式之简单工厂模式简述

    2021-06-14 17:11:20
  • Java执行hadoop的基本操作实例代码

    2022-11-13 12:08:04
  • 基于java配置nginx获取真实IP代码实例

    2023-07-15 12:32:46
  • Java运行时数据区域(内存划分)的深入讲解

    2023-03-16 02:36:50
  • asp之家 软件编程 m.aspxhome.com