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

目录
  • 正文
  • 设置为只读

正文

将索引设置为只读可能听起来很奇怪,但在 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索引变只读的资料请关注我们其它相关文章!

(0)

相关推荐

  • ElasticSearch不停机重建索引延伸思考及优化详解

    目录 前言 需求 查询本体 查询限制 聚合查询优化 遇到问题 不停机重建索引 新建索引 切换别名指向新索引 迁移数据 查询异步迁移任务详情 调整正常索引配置 MySQL扩容 停机扩容 不停机扩容 随便聊聊 最后 前言 距离我第一次上手ES过去了一年半多了吧,当时我是从零开始花了大半年时间搭建了一整套Filebeat+Kafka+数据处理服务+Elasticsearch+Kibana+Skywalking日志收集系统.感觉还是很刺激的,毕竟同时去深度学习和运用多个刚上手的中间件对我来说是个极大的磨

  • ElasticSearch整合SpringBoot搭建配置

    目录 前言 项目搭建 配置客户端 索引API初探 & Index API ping 创建索引 & create 索引是否存在 & exist 删除索引 结束语 前言 目前正在出一个Es专题系列教程, 篇幅会较多, 请持续关注我们 本节来给大家讲一下在Springboot中如何整合es~ 本文偏实战一些,为了方便演示,本节示例沿用上节索引,好了, 废话不多说直接开整吧~ 项目搭建 老规矩,先建maven项目,下面是我的pom.xml <?xml version="1.

  • 与近日火爆的ChatGPT聊Elasticsearch源码

    目录 正文 ChatGpt对话内容 ChatGpt对话截图 正文 最近在研读Elasticsearch最新的源代码,今天突发奇想能不能和ChatGPT聊聊Elasticsearch,看看他对Elasticsearch源码有多少了解,试了后发现这货还不赖. 参考下面的对话内容和最后的对话截图. 不过美中不足的是,ChatGPT的知识截止2021年,所以当我问他一些最新源码时,他的分析还停留在以前的版本上,希望ChatGPT能紧跟时事潮流,早日实现实时迭代更新知识库. ChatGpt对话内容 我:聊

  • ElasticSearch突然采集不到日志问题解决分析

    目录 0-前言 1-解决 2-延展 0-前言 组内同学反馈,kibana上最新的k8s日志看不到了.由于我们是采用elk(elastic search+logstash+kibana)的方式下部署日志采集系统,其中logstash以Deamonset方式部署到k8s的每一个node节点上,先去查看logstash的pod日志,发现: "reason": "Validation Failed: 1: this action would add [2] shards, but t

  • ElasticSearch之索引模板滚动索引实现详解

    目录 一. 前言 二. 索引 三. 索引模板 3.1 索引模板的创建 3.2 索引模板 Setting 3.3 索引映射 :mapping 四. 业务功能 4.1 创建滚动索引 4.2 创建和绑定策略 总结 一. 前言 文章合集 : https://zhannei.baidu.com/cse/site?q=ElasticSearch&click=1&cc=jb51.net&s=&nsid= Github : github.com/black-ant CASE 备份 : gi

  • ElasticSearch 深度分页示例解析

    目录 1 前言 2 from + size 分页方式 2.1 Query 阶段 2.2 Fetch 阶段 2.3 ES 示例 2.4 实现示例 2.5 小结 3 Scroll 分页方式 3.1 执行过程 1 前言 ElasticSearch 是一个实时的分布式搜索与分析引擎,常用于大量非结构化数据的存储和快速检索场景,具有很强的扩展性.纵使其有诸多优点,在搜索领域远超关系型数据库,但依然存在与关系型数据库同样的深度分页问题,本文就此问题做一个实践性分析探讨 2 from + size 分页方式

  • 详解elasticsearch实现基于拼音搜索

    目录 1.背景 2.安装拼音分词器 3.拼音分词器提供的功能 4.简单测试一下拼音分词器 4.1 dsl 4.2 运行结果 5.es中分词器的组成 6.自定义一个分词器实现拼音和中文的搜索 1.创建mapping 2.插入数据 3.搜索数据 1.背景 一般情况下,有些搜索需求是需要根据拼音和中文来搜索的,那么在elasticsearch中是如何来实现基于拼音来搜索的呢?可以通过elasticsearch-analysis-pinyin分析器来实现. 2.安装拼音分词器 # 进入 es 的插件目录

  • 万字详解JavaScript手写一个Promise

    目录 前言 Promise核心原理实现 Promise的使用分析 MyPromise的实现 在Promise中加入异步操作 实现then方法的多次调用 实现then的链式调用 then方法链式调用识别Promise对象自返回 捕获错误及 then 链式调用其他状态代码补充 捕获执行器错误 捕获then中的报错 错误与异步状态的链式调用 将then方法的参数变成可选参数 Promise.all方法的实现 Promise.resolve方法的实现 finally方法的实现 catch方法的实现 完整

  • 详解负载均衡实现一个域名对应多个IP地址

    详解负载均衡实现一个域名对应多个IP地址 使用负载均衡实现,传统和常规做法,其他方式需要特殊处理.(dns轮询,或者自己做解析) 1.一个域名设定多个dns服务或者服务器进行解析,同一个域名的每个解析都指向不同的ip地址,这样应答快的dns优先进行解析,这样就能保证最快定向到指定的网站空间去.如果空间也存在不同地点的相同内容镜像,那么这种方式最适合,例如sohu全国都有服务器,就是这么干的,除非你指定要访问某个地方的服务器,否则默认转向最快的空间,因为内容是镜像自动同步的,内容上不存在差别,用户

  • 详解使用Python写一个向数据库填充数据的小工具(推荐)

    一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库查询, 所以验证数据没有别的入口,只能通过在数据库写入数据来进行验证. 二. 工具 Python+mysql 三.前期准备 前置:当然是要先准备好测试方案和测试用例,在准备好这些后才能目标明确将要开发自动化小工具都要有哪些功能,避免走弯路 3.1 跟开发沟通 1)确认数据库连接方式,库名 : 2)测

  • 详解Nginx proxy_pass的一个/斜杠引发的血案

    背景 一个nginx的server模块下需要proxy到两个server,所以就通过location的不同路径来区分转发到不同的服务器上. 一开始是这么写的 location / { proxy_pass http://server1/; } location /index { proxy_pass http://server2/; } 但是忘记了server1上有个服务路径是/indexNew,结果就被proxy到了server1,出现404问题,然后紧急修改配置如下: location /i

  • 详解node.js创建一个web服务器(Server)的详细步骤

    前言 在 node.js 中创建一个服务器非常简单,只需要使用 node.js 为我们提供的 http 模块及相关 API 即可创建一个麻雀虽小但五脏俱全的web 服务器,相比 Java/Python/Ruby 搭建web服务器的过程简单的很. http model 要想创建一个基于 node.js 的 web 服务器,你就必须使用 node.js 提供的 http 模块,node.js 中的 http 接口旨在支持传统上难以使用的协议的许多特性, 特别是,大块的.可能块编码的消息,接口永远不会

  • 详解JavaScript如何创建一个非自动播放的GIF网络组件

    目录 一些很可爱的测试数据 构建Web组件 逻辑 结果 今天,我将向您展示如何创建一个允许您的用户决定是否要播放 gif 的 Web 组件!让我们开始吧. 一些很可爱的测试数据 这里用的gif是小骆驼和猫的这种可爱互动: 哇,太可爱了!我可以看一天这个 构建 Web 组件 对于这个 Web 组件,我们需要一些东西: 画布(“缩略图”所在的位置) 一张图片(实际的 gif) 标有“gif”的标签 一些造型 让我们这样做: const noAutoplayGifTemplate = document

  • 详解给Ocelot做一个Docker镜像

    写在前面 在微服务架构中,ApiGateway起到了承前启后,不仅可以根据客户端进行分类,也可以根据功能业务进行分类,而且对于服务调用服务也起到了很好的接口作用.目前在各个云端中,基本上都提供了ApiGateway的功能(付费功能),通过SDK或者在线进行配置. 在Java体系中有Zuul和Kong都是比较著名的. 在.Net体系中,目前比较热门的(短短1年时间已经1000+stars了) Ocelot,这是一个非常优秀的基于 .Net Core的Api网关开源项目,我们的在队长也参与了开发,过

  • 详解Java语言中一个字符占几个字节?

    题主要区分清楚内码(internal encoding)和外码(external encoding)就好了. 内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码: 外码是程序与外部交互时外部使用的字符编码."外部"相对"内部"而言:不是char或String在内存里用的内部编码的地方都可以认为是"外部".例如,外部可以是序列化之后的char或String,或者外部的文件.命令行参数之类的. Java语

  • 详解用python写一个抽奖程序

    第一次使用python写程序,确实比C/C++之类方便许多.既然这个抽奖的数据不大,对效率要求并不高,所以采用python写,更加简洁.清晰.方便. 1.用到的模块 生成随机数的模块random 用来读取excel表格的模块xlrd 2.思路:首先打开excel表格,然后读取其中某个单元格或者某行或某列的元素,进行输出或存储. 3.如何保证随机:随机的关键在于取随机数.每抽一个人之前,我们随机生成一个随机数i,i代表了读取第i个人的数据,由于i的生成是完全随机的,所以也就保证了选取的人员是完全随

随机推荐