elasticsearch 8 修改分词器并数据迁移

news2024/9/29 21:28:11

1. 安装中文索引

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

注意:版本要和ES版本对应
在这里插入图片描述
解压后放入plugins文件中
在这里插入图片描述
然后重启服务:docker-compose restart elasticsearch,大概需要1分钟

2. 数据迁移

当索引存在时不能修改已有索引分词器,会出现错误:

{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "Mapper for [content] conflicts with existing mapper:\n\tCannot update parameter [analyzer] from [default] to [ik_max_word]"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "Mapper for [content] conflicts with existing mapper:\n\tCannot update parameter [analyzer] from [default] to [ik_max_word]"
  },
  "status" : 400
}

因此需要进行一下步骤:

  1. 使用新的mappings创建新索引
  2. 使用reindex将数据从旧索引复制到新索引
  3. 删除旧的索引,并将设置新索引的别名

使用mappings新建索引

PUT /test_new
{
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_smart",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      }
    }
  }
}

使用reindex将数据从旧索引复制到新索引

POST /_reindex
{
  "source" : {
    "index" : "test"
  },
  "dest" : {
    "index" : "test_new",
    "version_type" : "external"
  }
}

删除旧的索引并设置别名

POST /_aliases
{
    "actions" : [
      {
        "add" : {
          "index" : "test_new",
          "alias" : "test"
        }
      },
    {
        "remove_index" : {
          "index": "test"
      }
    }
  ]
}

3. 总结

重新索引耗时比较长,最好在新建索引时设计好mappings中的分词器,万不得已再使用reindex

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

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

相关文章

【Spark分布式内存计算框架——Spark Streaming】9. 获取偏移量 应用案例:百度搜索风云榜(上)

4.4 获取偏移量 当SparkStreaming集成Kafka时,无论是Old Consumer API中Direct方式还是New Consumer API方式获取的数据,每批次的数据封装在KafkaRDD中,其中包含每条数据的元数据信息。 文档:http://spark.apache.org/docs/2.4.…

重磅:Meta未来4年路线图曝光,Quest出货超2000万台

The Verge今天曝光了一份Meta内部AR/VR产品规划图,这份规划图为Meta高管为Reality Labs员工的内部分享,包括了大量AR/VR产品信息,下面我们一起来看看。一,未来四年规划Meta Reality Labs四年规划:1,2023年&…

你知道吗?火狐搜集您的数据?

导读请注意,打包在 Firefox Web 浏览器里面的地理位置服务即使浏览器关闭后也会在后台运行。我们还没有从关于浏览器插件丑闻的消息中平复下来。插件原本目的是保卫隐私,但现在却把信息卖给了第三方公司。然而更令人愤怒的是其规模完全超出我们的预计。MLS MLS&…

报错“FirewallD is not running”怎么办,如何解决?

目录 一、报错详情 二、解决方法—开启防火墙步骤 步骤一:先通过命令查看一下防火墙的状态。 步骤二:开启防火墙。 步骤三:再次查看防火墙状态 一、报错详情 在docker创建redis容器,在进行window访问redis容器端口进行绑定设…

IGKBoard(imx6ull)-ADC编程MQ-2烟雾传感器采样

文章目录1- ADC介绍2- MQ-2烟雾传感器介绍(1)工作原理(2)MQ-2应用电路3- MQ-2烟雾传感器硬件连接4- ADC驱动配置5- 编程查看当前浓度1- ADC介绍 ADC是Analog-to-Digital Converter的缩写,指模数转换器。真实世界的模拟…

【C#基础】C# 预处理器指令

序号系列文章8【C#基础】C# 面向对象编程9【C# 基础】C# 异常处理操作10【C#基础】C# 正则表达式文章目录前言1,预处理器指令的概念2,预处理器指令的定义与使用2.1,可为空上下文2.2,定义符号2.3,条件编译2.4&#xff0…

KConfig语言学习(一文全览)

KConfig 语言学习菜单项菜单属性类型定义prompt: 输入提示default: 默认值depends on/requires: 依赖关系select: 反向依赖关系imply: 弱反向依赖关系visible if: 选项可见range: 数据范围help: 帮助信息菜单依赖关系菜单结构关系KConfig语法config: 配置项menuconfig: 配置菜单…

发布依赖到maven仓库

maven中央仓库是一个开放的仓库,所以我们也可以把自己开发的jar推送到远程仓库,这样可以直接引入pom依赖使用我们的库。 准备工作 ● 需要一个github账号(程序员必备) ● 网络代理(涉及到的网站通常没版本在国内直接访…

Computers Graphics(CAG)及Elsevier常见期刊投稿记录

1.期刊地址 Editorial Managerhttps://www.editorialmanager.com/cag/default2.aspx先进行用户注册,登录后进入首页点击Submit New Manuscript开始提交手稿,其他期刊流程相同,CAG所有的投稿注意事项见:Guide for authors - Comp…

数据库连接与properties文件

管理properties数据库&#xff1a; 现在pom文件中加入Druid的坐标&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version></dependency>配置文件中添加相应的数据&…

拒绝B站邀约,从月薪3k到年薪47W,我的经验值得每一个测试人借鉴

有时候&#xff0c;大佬们总是会特立独行。因为像我这样的常人总是想不通&#xff0c;究竟是怎样的情境&#xff0c;连B站这样的大厂面试都可以推掉&#xff1f; 缘起一通电话&#xff0c;踏出了改变人生轨迹的第一步 我是小瑾&#xff0c;今年28岁&#xff0c;2016年毕业于陕…

线程池的基本认识与使用

线程池的基本认识与使用线程池线程池工作原理&#xff1a;优点&#xff1a;传统的创建线程方式线程池创建线程使用线程池 池化思想&#xff1a;线程池、字符串常量池、数据库连接池可以提高资源的利用率 线程池工作原理&#xff1a; 预先创建多个线程对象 放入线程池种&#…

数据库基础-数据库基本概念(1-1)

你好&#xff0c;欢迎来到数据库基础系列专栏&#xff0c;欢迎留言互动哦~ 目录一、数据库基础1. 数据库基本概念1.1 数据库1.2 什么是数据库管理软件1.3 表1.4 行1.5 列和数据类型1.6 主键1.7 什么是 SQL一、数据库基础 1. 数据库基本概念 1.1 数据库 数据库是一个以某种有…

射频调试的习惯

三月开工了&#xff0c;一个月的调试即将开始。其实调试的重心是测试&#xff0c;核心的推动力是做事的习惯和思维。测试很重要&#xff0c;数据不对&#xff0c;能力和时间都浪费了上面了。测试的问题初步解完了&#xff0c;今天吃饭的时候碰到大领导。领导好忙&#xff0c;我…

SQL报错注入(上)

SQL报错注入报错注入概述报错注入的前提条件Xpath型函数&#xff08;需要数据库版本>5.15&#xff09;extractvalue&#xff08;&#xff09;extractvalue&#xff08;&#xff09;实操![在这里插入图片描述](https://img-blog.csdnimg.cn/5c7bfbc6565045d4bb352448c17f0869…

docker搭建redis集群、哨兵

集群搭建 本机IP 192.168.1.149 分别采用映射 192.168.1.149 的6379 6380 6381 三个端口模拟三台服务器。搭建三主无从的集群 首先可以在本机上创建三份redis.conf配置文件,分别命名为redis1.conf, redis2.conf, redis3.conf &#xff0c;我这里放在/opt/redis/conf/中 redis*.…

MyBatis学习笔记(九) —— 自定义映射resultMap

9、自定义映射resultMap 9.1、resultMap处理字段和属性的映射关系 若字段名和实体类中的属性名不一致&#xff0c;则可以通过resultMap设置自定义映射 resultType 是一个具体的类型。 resultMap 是resultMap的标签。 id 是处理主键和属性的映射关系&#xff1b; result 是处…

FirePower X2 14.0.1 for RAD Studio Alexandria

介绍 FirePower X2 FirePower X2 集成了 RAD Studio 11.0 Alexandria 中的新功能&#xff0c;并预览了我们的新特色组件 TwwDataGrouper。 FirePower X2 还允许您为 Apple 的新 M1 芯片构建应用程序&#xff0c;这样您就可以进一步利用 M1 芯片来提高本机应用程序的性能&#x…

set和map的基本使用

目录 关联式容器 要点分析 键值对 pair介绍 set 模板参数列表&#xff1a; set的构造&#xff1a; 常用接口 操作 multiset map map的构造 插入 make_pair map的迭代器 operator[] multimap multimap中为什么没有重载operator[] 关联式容器 关联式容器也是用…

(五十六)针对主键之外的字段建立的二级索引,又是如何运作的?

上一次我们已经给大家彻底讲透了聚簇索引这个东西&#xff0c;其实聚簇索引就是innodb存储引擎默认给我们创建的一套基于主键的索引结构&#xff0c;而且我们表里的数据就是直接放在聚簇索引里的&#xff0c;作为叶子节点的数据页&#xff0c;如下图。 而且我们现在也对基于主键…