Spring Data Elasticsearch 父/子文档存储库/测试执行错误

2023-12-19

我为两个父/子相关文档创建了两个 Spring-Data elasticsearch 存储库。您可以看到它们的文档类here https://github.com/ltsallas/spring-data-elastic-test/blob/master/src/main/java/com/example/domain/ParentEntity.java.

借助像这样的 repositories 元素,存储库在 XML 中被实例化

<elasticsearch:repositories base-package="com.acme.repositories" />

您可以在以下位置找到该问题的完整示例this https://github.com/ltsallas/spring-data-elastic-testgithub 仓库。我的源代码基于中找到的测试spring-data-elasticsearch 仓库 https://github.com/spring-projects/spring-data-elasticsearch/tree/master/src/test/java/org/springframework/data/elasticsearch。源代码仅包含两个域类(父类、子类)、相关存储库、xml 配置文件和一个单元测试类 https://github.com/ltsallas/spring-data-elastic-test/blob/master/src/test/java/com/example/DemoApplicationTests.java.

克隆并运行mvn test, 抛出java.lang.IllegalArgumentException: can't add a _parent field that points to an already existing type, that isn't already a parent

似乎这种父/子关系会产生弹性搜索异常,这在Elasticsearch端 https://stackoverflow.com/questions/33670057/elasticsearch-2-0-parent-child-grandchild/,但我不知道在执行Spring Data测试时如何防止这种情况发生。


如果您仍在寻找答案,我通过在父级的 @Document 中设置 createIndex=false 解决了这个问题。 并在 bean 中手动创建它

            elasticSearchTemplate.createIndex(Parent.class);
            elasticSearchTemplate.putMapping(parent.class);
            elasticSearchTemplate.createIndex(Child1.class);
            elasticSearchTemplate.createIndex(Child2.class);

这应该首先创建父级,然后创建关联的子级。 另外,在更新映射之前请先清除文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Data Elasticsearch 父/子文档存储库/测试执行错误 的相关文章

随机推荐

  • ActiveRecord (CDbCriteria) 与 QueryBuilder?

    我必须做一些过滤器 例如获取给定部门的人员 我想知道最好的方法 其中一些需要连接多个表 有谁知道之间的主要区别CDbCriteria和查询生成器 我特别想了解与数据库的兼容性 我在关于查询生成器的 Yii 文档中找到了这一点 它提供一定程度
  • Threejs 几何和 TypeScript

    我想为网格顶点和面编写正确的类型 在第一个示例中 我创建了一个新的网格 当我想从几何体访问顶点和面时 我收到一些错误 const material new THREE MeshLambertMaterial color 0x00ff00 c
  • JRadioButton选择颜色

    当选择我的 Java UI 程序中的任何单选按钮时 该选择会显示为black点 我想把它变成绿色 我正在使用 Java Swing 我遵循了对此的回答那么问题 https stackoverflow com questions 460710
  • 如何在 GitHub 上为每次提交使用 HTML 和 JavaScript (D3.js) 显示演示

    我正在开发使用 D3 js 来显示一些可视化的应用程序 如何在 GitHub 上显示 HTML 文件 使用 JS 的预览 我需要每个提交 历史 的演示 而不仅仅是最新版本 I generate static version of my ap
  • 如何防止 ReSharper 在解决方案中创建文件夹?

    ReSharper 6 创建类似的文件夹ReSharper projectname其中包含下面的文件和文件夹 这通常会给 MSDeploy 和源代码控制带来很多问题 我必须在各处添加忽略规则 防止这种情况发生的正确方法是什么 切换回 Vis
  • Backtrace 消音器不工作

    在我的 Rails 应用程序中 我设置了以下回溯消音器 正如 Michael Hartl 在他的 Rails 教程中所建议的那样 Rails backtrace cleaner add silencer line line rvm 但我仍然
  • 以编程方式激活 firebase 云函数中的重试

    我正在部署 firebase 云功能 以通过持续部署来监听我们的 firestore 中的更改 我只能想办法激活重试manually https firebase google com docs functions retries enab
  • 请求如何使用 TComplexMath 类的简单示例(包含源代码)

    我正在使用 Borland Delphi7 进行一些 Pascal 编程 我已经下载了一个相当基本 且免费 的复杂数学函数源代码库 但不幸的是它没有附带任何使用示例 由于我对 Pascal 中的类不是很熟悉 我想我只需要一个简单的例子来说明
  • jar 文件的 MacOS 可执行文件

    我有一个独立的 java 应用程序 将在 Macintosh 系统中使用 考虑到它的源代码可以反编译 我不想将该应用程序作为 jar 文件提供 因此 我的目的是将 jar 文件转换为某种可以在 MacOS 中运行的可执行文件 有什么办法可以
  • 如何在mysql中保存链接?

    我需要在mysql中保存一些链接 但有些链接较小 有些链接可能很大 我必须在 mysql 中使用什么字段 varchar TEXT ecc Varchar 是一个不错的选择 TEST适用于非常大的数据 并且存储在表外 欲了解更多信息 请阅读
  • bash 脚本中的通配符

    我有一个 bash 脚本来从 ftp 检索文件 现在 这些文件的文件名中有一部分是日期字符串 但也有未定义的数字 这些数字在每个文件上都会发生变化 我想根据日期下载文件 这是我的代码 我只需要使用通配符技巧 ftp 脚本就可以工作了 fil
  • 在本地运行一次计时器触发的 Azure 函数的最简单方法是什么?

    我有一些按计划运行的 C Azure 函数定时器触发器 https learn microsoft com en us azure azure functions functions bindings timer 我把它们设置成这样 在哪里
  • 将图像从 iPhone 上传到服务器文件夹

    我在网上找到了一些将图像从 iphone 上传到服务器文件夹的片段 它显示使用服务器端脚本 例如 在服务器端使用php
  • 如何在新的谷歌应用程序脚本界面上缩进代码?

    任何有关如何使用快捷方式在 google appscript 上缩进 打开自动缩进的指导将不胜感激 What I am using when indenting manually is Tab and Shift Tab on single
  • 如今,设置线程亲和性而不是将其留给操作系统的充分理由是什么?

    在这里搜索 线程亲和力 的答案 我看到很多人对此感兴趣 但除了可能获得稳定的 QueryPerformanceTimer 结果之外 没有什么理由 假设有一个现代操作系统和一个带有现代 4 6 核 CPU 的现代 2 4 插槽工作站 服务器类
  • ReflectionClass::getProperties() 是否也获取父级的属性?

    我正在尝试通过反射访问 更改类的父类的属性 如果我在子级上运行 ReflectionClass getProperties 它是否也会返回父级具有的任何属性 如果没有 是否有任何方法可以使用反射访问父属性 我做了这个快速测试 当您获取子类的
  • 获取隐式证据选择的运行时类型

    假设我有一组 String 转换器 作为 Type 类 import scala reflect runtime universe abstract class ToStringConverter T def convert value T
  • ClassNotFoundException 封送 EJB 参数

    我正在制作一个具有分布式架构的项目 但我在返回时遇到问题java util Collection到客户端应用程序 我正在托管 Bean 中调用 EJB 以引入持久实体的集合 我正在使用 Java 7 和 JBoss 7 1 1 Manage
  • 将域名指向运行XAMPP和wordpress的服务器ip

    我在 Windows 服务器上安装了 XAMPP 还安装了 Wordpress XAMPP 模块 我还购买了一个域名 将其指向我的服务器 IP 问题是 我希望当人们输入 mydomain com 时 mydomain com 显示在地址栏中
  • Spring Data Elasticsearch 父/子文档存储库/测试执行错误

    我为两个父 子相关文档创建了两个 Spring Data elasticsearch 存储库 您可以看到它们的文档类here https github com ltsallas spring data elastic test blob m