当前位置: 首页 > 知识库问答 >
问题:

升级到elasticsearch 7时重新索引错误

东方嘉木
2023-03-14

我们目前正在使用搜索踢宝石,它的工作原理很棒。最近我尝试在本地开发环境中将elasticsearch升级到7。我得到了它,并使用家庭酿造运行(研究后,我需要运行rm-fr /usr/local/var/lib/elasticsearch)。当我去重新索引我的模型之一时,我得到了以下映射错误:

Elasticsearch::Transport::Transport::Errors::BadRequest:[400]{“error”:{“root_cause”:[{“type”:“mapper_parsing_exception”,“reason”:“root mapping definition有不受支持的参数:[化妆品/产品:{properties={product={type=关键字}}]”,“type”:“mapper_parsing_parsing_exception”,“原因”:“未能解析映射[_doc]:根映射定义有不受支持的参数:[化妆品/产品:{properties={product={type=keyword}}}}],“coursed_by:{”type:“mapper_parsing_异常”,“原因”:“根映射定义有不受支持的参数:[化妆品/产品:{properties={product type={type=keyword}}}}],”status:“400}

使用elasticsearch 6.8.4时不会出现此错误。有人能给我指一个解决这个问题的资源吗?

共有2个答案

董琦
2023-03-14

除了@Assael Azran的精彩回答和他分享的精彩链接之外,这里还有一些额外的信息:

>

  • 如果你在5中创建了索引。x或之前,在升级到7之前,当你在6.8中时,你需要重新索引它们。x
  • 如果索引具有多种类型,则需要根据文档类型对其重新编制索引
  • 在您的案例中,像产品这样的自定义类型名称应替换为\u docdoc。理想情况下,定义映射时不应该有类型名。看看这个
  • 你所有的5。x或之前的快照(如果有)在7上不起作用。x、 因此,在6.8版本中,需要从这些快照中恢复索引,然后重新索引索引,然后再次创建快照。然后可以删除索引,也可以删除较旧的快照。

    看看这个升级链接。

    希望这能有所帮助

  • 锺离鸿
    2023-03-14

    版本7中不支持映射类型。
    要解决此问题,请删除所有映射类型(例如_doc)

    在Elasticsearch 6.0.0或更高版本中创建的索引只能包含一种映射类型。索引创建于5年。具有多种映射类型的x将继续在Elasticsearch 6中像以前一样发挥作用。x、 在Elasticsearch 7.0.0的API中,类型将被弃用,并在8.0.0中完全删除。

    看看这个

    还有这个

     类似资料:
    • 我刚刚完成了从Hibernate 3.6到4.1.3 Final的升级,起初一切似乎都很顺利。然而,我的一位同事最近在一个场景中测试了这个问题,他从Hibernate中抛出了一个空指针(在我们升级到完全相同的DB之前,没有抛出这个异常)。这是一个不可思议的奇怪场景。我们有一个名为BlogPost的实体,如下所示,它扩展了一些映射的超类(我也包括了这些超类): 当我在某些情况下查询BlogPost时

    • 问题内容: 最近从BC 1.34升级到1.45。我正在使用以下代码解码一些先前编码的数据: 使用BC 1.45时,出现以下异常: 编辑:有关此问题的更多信息。我正在使用以下内容从密码短语生成原始密钥: 我发现这导致BC 1.34与1.45的两个不同值。 它也可能与BouncyCastle不相关(我正在Android 2.3上进行测试) 问题答案: 看起来问题在于SecureRandom无法跨Fro

    • 我使用flutter upgrade--force从v1.91.hotfix 6升级flutter。 然后我构建了一个示例“层” - 颤振运行,它显示了此消息,而如果我切换到1.91,一切都构建正常 找不到名为“堆栈跟踪”的选项。 颤振博士-v G:\新\new_exam [√] Android toolchain -为Android设备开发(Android SDK版本29 . 0 . 2)And

    • 我相信我已经为4.1准备好了所有的依赖项,但是当我使用作曲家更新时,我会出现以下错误: 生成自动加载文件 脚本php artisan clear已编译,处理返回的更新后cmd事件时出错: 脚本php artisan optimize处理返回的更新后cmd事件时出错: 我的composer文件如下所示: { }

    • 我正在做一个简单的部分更新场景,它适用于Solr的6.x和7.x版本。将Solr和Solrj升级到8.8后,我遇到以下异常: 注意,这与前面关于stackoverflow的问题不同,因为我传递的是简单的整数字段,而在Solr/Lucene端,它被替换。

    • 问题内容: 我正在尝试使用以下行重新索引: 但是我在kibana控制台中遇到以下错误: 谁能告诉我这个问题是什么以及如何摆脱它。 问题答案: 504只是意味着请求仍在运行,但是从Kibana到ES的HTTP连接超时。 您仍然可以使用任务管理API来查看请求的执行情况,如下所示: