我为两个父/子相关文档创建了两个Spring-Data Elasticsearch存储库。您可以在此处查看它们的文档类。
使用仓库元素,XML实例化存储库的过程如下
<elasticsearch:repositories base-package="com.acme.repositories" />
您可以在this的github存储库中找到该问题的完整示例。我的源代码基于spring-data-elasticsearch repo中发现的测试。源代码仅包含两个域类(父级,子级),相关存储库,xml配置文件和一个单元测试类。
克隆并运行
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 side中是清楚的,但我不知道如何在执行Spring Data测试时防止这种情况发生。