Elasticsearch解决不能修改索引、字段问题解决方案

这篇具有很好参考价值的文章主要介绍了Elasticsearch解决不能修改索引、字段问题解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题1:

由于es索引不能删除,不能修改,在不影响原数据的情况下,并且生产服务不停机的情况下,怎么修改索引,并保留原索引内的数据?
基于kibanna的dev Tools执行参数,淘汰postman,kibanna会有提示
1、原来索引起别名job
2、重建索引,数据迁移,默认是同步执行大数据量太慢,可以设置为异步执行(url新增参数 wait_for_completion = false),[reindex方法 source来源index1 -> dest目标index2,这块不是别名,是索引名]
3、删除原来索引别名为job,重建新索引命名为job

特注:

es在项目中正常是先存入mysql中备份,然后再写入到es中,然后再前端查询es,保证高可用,数据的不丢失,refresh对于热点数据可以设置刷新时间,如果刷新的过于频繁会影响IO性能,对于非热点数据都是几分钟或者几个小时刷新一次(多线程的情况下,a线程写入数据进入es,b线程没查到,是因为a线程还没有刷新到内存中,对于热点数据可以使用refresh即时的刷新到内存中,b线程就可以查到a线程写入的数据)

refresh解决索引的一致性!

问题2:

es集群分片原理

https://www.freesion.com/article/3467651389/

分片关键字的理解:

分片是在es7.0版本后,索引创建时,es模板一个索引创建一个主分片和一个副本分片,

分片创建成功后就不能被修改,除非reindex重新创建索引,指定想要设置的主分片数和副本分片数,如果索引template_index设置3个主分片(a,b,c),分别在3个不同的节点上,a + b + c数据整合起来才是一个完整的数据,主分片是除法操作,副本分片是乘法操作,并且主分片和副本分片一定不能在同一个节点服务器上,保证高可用,某个节点挂掉,不影响副本分片数据的返回。并且es访问主分片和副本分片是随机访问的,最少一个节点有一套完整的分片数据。节点配置可以在es.yml文件里配置,通过docker命令的方式重启生效。

问题3:

es里刚存入的数据能不能被实时查询到?

不能被实时查到,必须经过index buffer缓冲区,缓存到filesystem cache文件系统缓存区后,才能被查到。文章来源地址https://www.toymoban.com/news/detail-526423.html

到了这里,关于Elasticsearch解决不能修改索引、字段问题解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot返回前端Long类型字段丢失精度问题及解决方案

    Java服务端返回Long整型数据给前端,JS会自动转换为Number类型。而Long类型能表示的最大值为(),当数值超过JS中Number类型的最大值()时,就会丢失精度。 首先,引入依赖。 新建一个自定义大数据序列化类,如下: 新建Jackson配置类 本文针对Java服务端返回Long整型数据给前端时

    2024年03月22日
    浏览(105)
  • 成功解决Impala中修改parquet表的字段类型问题

    最近有个小伙伴在开发中遇到了 Impala 中修改 Parquet 表的字段类型问题,于是开启了问题解决之路。 这个小伙伴在 Impala 中对 Hive 的表进行了删除、修改字段类型等操作,等这些操作后去 Impala 去查询该表的时候,出现了如下的问题: 问题1: 问题2:

    2024年02月16日
    浏览(50)
  • IntelliJ IDEA创建springboot项目时不能选择java8的问题解决方案

    最近博主也有创建springboot项目,发现了IntelliJ IDEA在通过Spring Initilizer初始化项目的时候已经没有java8版本的选项了。 基于这个问题,有了这篇文章的分享,希望能够帮助大家克服这个困难。 如图,现在创建springboot项目的时候,java版本只有17和21两个选项,刚好今天晚上有刷

    2024年02月04日
    浏览(111)
  • 当es使用script脚本查询聚合等操作遇到空字段报错问题解决方案

            在使用ES的脚本时,如果脚本中引用了不存在或者空的字段,则会导致脚本执行失败并抛出错误。这是因为ES会在脚本执行之前尝试检索引用的字段,如果该字段不存在则会抛出异常。         因此,在使用ES脚本时,需要确保所引用的字段都存在且不为空。可

    2024年02月11日
    浏览(54)
  • ElasticSearch索引mapping添加字段

    ES版本5.3.0,在已存在的索引mapping中添加字段。 如下: my_index索引名称,my_type为索引类型名称,new_field_name为新增的字段名称。 如下: 返回为true代表添加操作成功。

    2024年02月13日
    浏览(47)
  • Mysql,创建/删除表、添加表字段、修改表字段、添加索引等常用语句。

       以下方 user 表为例,讲解如何Mysql创建表语句、添加表字段、修改表字段、添加索引等常用的SQL语句。     出于编写本篇文章的考虑,使用下方建表语句创建的  user表 有很多不合理的地方,例如:teacher_id 是 varchar类型而非 bigint类型、 \\\'创建时间\\\' 有2个字段 等。 大家在自

    2024年02月11日
    浏览(51)
  • ES索引修改mappings与重建reindex详解之修改字段类型

    elasticsearch一直在使用,这里总结一下mappings的修改方法,分为两种情况: 增加新的字段,这种很简单; 修改已有的字段类型,这种就比较麻烦了,需要reindex,对索引进行迁移重建。 1.1、获取mappings 增加一个 new_stocks 字段,如下: 再查一下: 可以看到new_stocks字段已经加上去

    2024年02月17日
    浏览(44)
  • 解决ElasticSearch本地只能通过localhost访问不能通过IP访问的问题。

    安装完成后只能通过localhost访问,不能通过ip进行访问,解决以下三点 1、检查防火墙是否已经关闭         sudo systemctl status firewalld  查看防火墙状态 如果是active就修改         sudo systemctl stop firewalld   关闭防火墙         sudo systemctl disable firewalld   这个方式可以永久

    2024年02月04日
    浏览(45)
  • ElasticSearch - 索引增加字段并查询增加字段前的历史数据

    1. 问题引入 我们项目中有一个需求:ElasticSearch存在很多历史数据,然后需求中索引新增了一个字段,我们需要根据条件查询出历史数据,但历史数据中这个新增的字段并不存在,如何查询到历史数据呢? 1. 索引2个文档 2. 给索引增加新的字段 3. 再次索引1个文档 这个文档新

    2024年02月10日
    浏览(68)
  • element-ui时间日期选择器回显功能以及不能修改问题的解决

    地址:element-ui时间日期选择器不能修改问题的解决 - 走看看 属于是强制更改 编辑的时候,修改了时间,控制台中能看到已修改,可是页面上确没修改而且也不能删除,出现这样的问题,该如何解决? 解决方案:在获取数据回显的时候使用$set: 刚开始是直接赋值(如果不是标

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包