ElasticSearch之Clone index API

使用已有的索引,复制得到一个索引。

关闭testindex_001的写入操作,命令样例如下:

curl -X PUT "https://localhost:9200/testindex_001/_settings?pretty" -H 'Content-Type: application/json' -d'
{"settings": {"index.blocks.write": true}
}
' --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPH=QBE+s5=*lo7F9"

通过复制testindex_001来创建新的index,命令样例如下:

curl -X POST "https://localhost:9200/testindex_001/_clone/cloned-testindex_001?pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPH=QBE+s5=*lo7F9"

执行结果的样例,如下:

{"acknowledged" : true
}

或者使用PUT方法,命令样例如下:

curl -X PUT "https://localhost:9200/testindex_001/_clone/cloned-testindex_002?pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPH=QBE+s5=*lo7F9"

执行结果的样例,如下:

{"acknowledged" : true,"shards_acknowledged" : true,"index" : "cloned-testindex_002"
}

假如复制前没有关闭写入,复制操作将失败,提示信息,样例如下:

{"error" : {"root_cause" : [{"type" : "illegal_state_exception","reason" : "index testindex_001 must be read-only to resize index. use \"index.blocks.write=true\""}],"type" : "illegal_state_exception","reason" : "index testindex_001 must be read-only to resize index. use \"index.blocks.write=true\""},"status" : 500
}

恢复testindex_001的写入操作,命令样例如下:

curl -X PUT "https://localhost:9200/testindex_001/_settings?pretty" -H 'Content-Type: application/json' -d'
{"settings": {"index.blocks.write": false}
}
' --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPH=QBE+s5=*lo7F9"

执行结果的样例,如下:

{"acknowledged" : true
}

实现原理
复制的操作过程:

  • 依据源索引的参数和数据,使用目标索引的名称,创建一个新的索引对象。
  • 将源索引相关的segment的对象和文件,关联至目标索引。
    • 假如节点的运行平台的文件系统支持POSIX语义中的硬链接,则使用硬链接方式。
    • 假如节点的运行平台的文件系统不支持POSIX语义中的硬链接,则使用复制方式,相对要耗时,同时占用存储空间。
  • 更新目标索引的状态,类似关闭后重新打开的索引。

约束项:

  • 目标索引的名称需要符合命名规范。
  • 目标索引不存在存在,否则复制操作将失败。
  • 目标索引和源索引,主分片的数量需要一致。
  • 参与复制操作的节点,需要有充足的存储空间来容纳新的索引的分片和副本。

方法参数
参考Create index API。
方法的请求消息体
参考Create index API。

方法的响应消息体
参考Create index API。

相关资料

  • Clone index API
  • Create index API
  • cat recovery API
  • Index API
  • Cluster health API
  • Index modules
  • Aliases
  • Query DSL
  • API conventions

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

numpy知识库:基于numpy绘制灰度直方图

前言 对于灰度图像而言,灰度直方图可以统计灰度图像内各个灰度级出现的次数。 灰度直方图的横坐标是灰度图像中各像素点的灰度级。灰度的数值范围为[0, 255]。因此,如果将图像分为256个灰度级,那么每个灰度级唯一对应一个灰度;如…

流媒体方案之Nginx——实现物联网视频监控项目

目录 前言 一、Nginx是什么 二、Nginx在流媒体方案中的位置​编辑 三、软硬件准备 四、移植编译Nginx 五、运行Ngnix 六、测试流媒体方案 七、浏览器播放 前言 最近想做一个安防相关的项目,所以跟着韦东山老师的视频来学习视频监控方案的相关知识&#xff0…

lv11 嵌入式开发 ADC 16

目录 1 ADC 简介 2 Exynos4412下的ADC控制器 2.1 总览 2.2 特征 2.3 ADC转换时间 2.4 IO口 ​编辑3 ADC寄存器详解 3.1 寄存器介绍 3.2 ADCCON控制寄存器 3.3 ADCDAT 3.4 CLRINTADC 3.5 ADCMUX ​编辑 4 ADC编程 1 ADC 简介 ADC(Analog to Digital Converter)即…

SCAU:数的整除

数的整除 Time Limit:1000MS Memory Limit:65536K 题型: 编程题 语言: G;GCC 描述 由键盘输入5个整数,逐个判断它们能否被27整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行&…

Android开发,JNI开发项目创建

文章目录 Android开发,JNI开发项目创建1.jni是什么 Android开发,JNI开发项目创建 创建工程 1.jni是什么 使得java可以访问底层c语言,java本地化接口,是桥梁。 运行下我们的项目 出现这个就是我们的JNI开发环境已经配置好了 是…

【SpringBoot】SpringBoot配置Swagger

文章目录 前言配置步骤使用步骤总结 前言 使用Swagger只需要按照规范去定义接口及接口的相关信息,就可以做到生成接口文档和在线接口调试页面 官网:Swagger官网 Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案 配置步骤 1.导入knife4j的m…

shell命令编写

1. 1 #!/bin/bash 2 3 directory_path"/txh"4 5 # 使用 find 命令查找指定路径下的文件,并使用 wc 命令统计行数(即文件个数)6 7 file_count$(find "directory_path" -type f | wc -l)8 9 10 echo "在路径$director…

【算法思考记录】力扣2935. 找出强数对的最大异或值【Python3,位运算,哈希表】

力扣2935. 找出强数对的最大异或值 题目概述 题目编号:2935 题目难度:困难 相关标签:数组, 排序, 位运算 给定一个整数数组 nums,任务是找出其中可以形成的所谓“强数对”的最大异或值。强数对定义为一对整数 (x) 和 (y)&#…

网工学习5 交换机端口相关配置

交换机的接口属性默认支待一般网络环境,一般情况下是不需要对其接口进行设置的。在某些情况下需 要对其端口属性进行配置时,配置的对象主要有接口隔离、速率、双工等信息。 5.1 接口隔离设置 > 配置接口 GE0/0/1 和 GE0/0/2 的接口隔离功能&#xf…

arm linux 平台 打开摄像头矫正

安装v4l v4l 意思为 video for Linux, 是linux驱动链接摄像头的软件应用部分,当然先要安装好v4l-utils $ sudo apt install -y v4l-utils $ v4l2-ctl --list-devices $ v4l2-ctl -d 0 --list-formats-ext看完以后基础信息以后就可以使用jetso…

Leetcode1094. 拼车

Every day a Leetcode 题目来源:1094. 拼车 解法1:差分数组 对于本题,设 a[i] 表示车行驶到位置 i 时车上的人数。我们需要判断是否所有 a[i] 都不超过 capacity。 trips[i] 相当于把 a 中下标从 fromi 到 toi−1 的数都增加 numPassenge…

【Unity动画】什么是动画蒙版(Avatar Mask)

Avatar Mask(骨骼蒙版)是Unity中用于限制动画系统作用范围的一种机制。它允许你选择性地启用或禁用动画系统对模型骨骼的影响,从而实现更精细的动画控制。 以下是Avatar Mask的一些关键概念: 骨骼蒙版(Bone Mask&…

【ArcGIS Pro微课1000例】0045:深度学习--车牌模糊

借助ArcGIS Pro提供的车牌模糊训练模型,可以很方便实现车牌模糊。 文章目录 一、车牌模糊对比二、工具介绍三、案例实现一、车牌模糊对比 车牌模糊前: 车牌模糊后: 二、工具介绍 本功能使用的依然是ArcGIS Pro提供的深度学习工具中的使用深度学习分类像素(Classify Pixel…

JavaScript基础知识20——循环结构:退出循环

哈喽,大家好,我是雷工! 最近一段时间没学习JavaScript,今天看数字孪生的资料,发现很多低代码开发还是得必须熟悉JavaScript才行,为了以后方便搞数字孪生,有时间还是继续学习下JavaScript。 以下…

前端使用 xlsx.js 工具读取 excel 遇到时间日期少 43 秒的解决办法

在使用 xlsx 读取 excel 的时间格式的数据时,如 ‘2023-11-30’,‘2023/11/30’ ,默认会读取一串数字字符串,如:‘45260’,此时需要在 read 的时候传入一个配置项: import { read } from xlsxc…

如何开启Windows Server 2016 远端桌面

使用GUI 设定 服务器管理器–> 本地服务器–> 远端桌面 启用远端桌面 远端–> 允许远端连线至此电脑 会提示防火墙设定跟电源设定 防火墙之前已经关闭了 完成

Kubernetes v1.28.4 安装笔记

安装 kubelet kubeadm kubectl K8s 集群的每个 node 上都要安装的 官方文档参考: https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl 配置 containerd (容器运…

matlab 多目标粒子群优化算法MOPSO

1、内容简介 略 21-可以交流、咨询、答疑 多目标、粒子群 2、内容说明 多目标粒子群优化算法MOPSO 3、仿真分析 略 %% Problem Definition TestProblem3; % Set to 1, 2, or 3 switch TestProblem case 1 CostFunction(x) MyCost1(x); nVar5; …

android 13.0 framework禁用系统所有通知

1.概述 在13.0的系统rom产品开发中最近公司项目要求 禁用系统所有通知 不需要在下拉状态栏显示通知功能实现 要控制系统通知的开关功能,需要屏蔽系统通知,而系统通知都是由NoticationManagerServices.java来管理的, 这个NMS服务管理通知就需要在NotificationManagerService.…

数据库管理-第120期 初探Halo数据库(202301201)

数据库管理-第120期 初探Halo数据库(202301201) 12月份正好也是第120期,新的一篇文章,尝试一条新的路线。其实吧,Halo(羲和)这个数据库我较早时间就听说过(早于今年DTCC&#xff0c…