ElasticSearch7.x版本更新映射字段

2024-04-27 20:20

本文主要是介绍ElasticSearch7.x版本更新映射字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、新建索引

请求方式:PUT

请求URL:

2、数据迁移

请求方式:POST

请求URL:

请求体:

3、验证新索引

请求方式:GET

请求URL:

响应体:

4、删除旧索引

请求方式:DELETE

请求URL:

5、新建旧索引

请求方式:PUT

请求URL:

5、再次数据迁移

请求方式:POST

请求URL:

 请求体:

6、再次验证

请求方式:GET

请求URL:

数据验证:

现有索引:testold

{"testold": {"aliases": {},"mappings": {"properties": {"_class": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}},"id": {"type": "keyword"},"cotent": {"type": "keyword"},"tid": {"type": "keyword"}}},"settings": {"index": {"creation_date": "1713842844859","number_of_shards": "1","number_of_replicas": "1","uuid": "YmaRFkrmR-SuD-V95VpmwQ","version": {"created": "7090099"},"provided_name": "testold"}}}
}

工具人索引:testnew

{"mappings": {"properties": {"cotent": {"type": "keyword"}, "id": {"type": "keyword"}, "tid": {"type": "long"}}}, "settings": {"index": {"number_of_shards": 1, "number_of_replicas": 1}}
}

需要把testold的tid字段修改为long类型。

1、新建索引

请求方式:PUT

请求URL:

http://localhost:9200/testnew

{"mappings": {"properties": {"cotent": {"type": "keyword"}, "id": {"type": "keyword"}, "tid": {"type": "long"}}}, "settings": {"index": {"number_of_shards": 1, "number_of_replicas": 1}}
}

2、数据迁移

请求方式:POST

请求URL:

http://localhost:9200/_reindex

请求体:

{"source": {"index": "testold"}, "dest": {"index": "testnew"}
}

3、验证新索引

请求方式:GET

请求URL:

http://localhost:9200/testnew/_mapping

响应体:

{"testnew": {"aliases": { }, "mappings": {"properties": {"_class": {"type": "text", "fields": {"keyword": {"type": "keyword", "ignore_above": 256}}}, "id": {"type": "keyword"}, "cotent": {"type": "keyword"}, "tid": {"type": "long"}}}, "settings": {"index": {"creation_date": "1713842844859", "number_of_shards": "1", "number_of_replicas": "1", "uuid": "YmaRFkrmR-SuD-V95VpmwQ", "version": {"created": "7090145"}, "provided_name": "testnew"}}}
}

4、删除旧索引

请求方式:DELETE

请求URL:

http://localhost:9200/testold

注意:删除旧索引后,需要按照新要求的字段类型进行新建

5、新建旧索引

使用旧的索引名进行新建,以上动作目的是保证数据不丢失。

请求方式:PUT

请求URL:

http://localhost:9200/testold

{"mappings": {"properties": {"cotent": {"type": "keyword"}, "id": {"type": "keyword"}, "tid": {"type": "long"}}}, "settings": {"index": {"number_of_shards": 1, "number_of_replicas": 1}}
}

5、再次数据迁移

请求方式:POST

请求URL:

http://localhost:9200/_reindex

 请求体:

{"source": {"index": "testnew"}, "dest": {"index": "testold"}
}

6、再次验证

请求方式:GET

请求URL:

http://localhost:9200/testold/_mapping

数据验证:

http://localhost:9200/testold/_search

总结:在整个过程中,testnew只是祈祷一个中间过度的作用,确保在修改字段类型的过程中造成的数据丢失问题。

这篇关于ElasticSearch7.x版本更新映射字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941448

相关文章

Python包管理工具uv下载python版本慢问题解决办法

《Python包管理工具uv下载python版本慢问题解决办法》uv是一个非常快的Python包和项目管理器,用Rust编写,使用热缓存安装Trio的依赖项的速度对比,:本文主要介绍Python包... 目录发现问题对于 MACOS / linux 用户 (zsh/bash):对于 Windows 用户:总

SpringMVC配置、映射与参数处理​入门案例详解

《SpringMVC配置、映射与参数处理​入门案例详解》文章介绍了SpringMVC框架的基本概念和使用方法,包括如何配置和编写Controller、设置请求映射规则、使用RestFul风格、获取请求... 目录1.SpringMVC概述2.入门案例①导入相关依赖②配置web.XML③配置SpringMVC

Elasticsearch 的索引管理与映射配置实战指南

《Elasticsearch的索引管理与映射配置实战指南》在本文中,我们深入探讨了Elasticsearch中索引与映射的基本概念及其重要性,通过详细的操作示例,我们了解了如何创建、更新和删除索引,... 目录一、索引操作(一)创建索引(二)删除索引(三)关闭索引(四)打开索引(五)索引别名二、映射操作(一

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更