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

选择sping-data-elasticsearch 3.2,同时保留sping-boot2.3

盛嘉
2023-03-14

我们有一个运行在spring boot 2.3和spring-data-r2dbc上的web服务,该服务仅在spring boot 2.3之后可用。

最近,我们需要与现有的elasticsearch 6集成。spring boot 2.3附带的spring data elasticsearch 4.0不支持x群集。

我试图显式声明依赖项spring data elasticsearch 3.2.10(支持6.x es群集),但我可以看到,无论spring data elasticsearch 3.2.10的pom中声明的版本6.8.12如何,仍然加载了elasticsearch rest高级客户端7.6.2(此依赖项是spring data elasticsearch 4.0不再支持6.x es群集的根本原因)。xml。

我正在使用带有io.spring.dependency管理org.springframework.boot插件的gradle。我想知道如何在选择spring-data-elasticsearch 3.2.10的同时保持spring-boot 2.3?

==========编辑==========

我看到了这篇文章,为什么Gradle会在Grails 3.1应用程序中降级我的可传递依赖项?并认为这是因为io。Spring依赖关系管理(dependency management)gradle插件将elasticsearch版本强制为7.6.2。

我通过ext[“elasticsearch.version”]=6.8.12对其进行了更改,现在需要elasticsearch版本。

然而,我仍然不确定以这种方式重写版本是否会导致任何不可预见的问题。

共有1个答案

瞿博易
2023-03-14

我没有gradle设置来测试这一点,但对于maven,您需要两件事:

设置Elasticsearch版本的属性和Spring Data Elasticsearch的依赖项:

    <properties>
        <elasticsearch.version>6.8.4</elasticsearch.version>
    </properties>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-elasticsearch</artifactId>
        <version>3.2.10.RELEASE</version>
    </dependency>

使用示例程序进行的第一次测试似乎运行正常,但可能存在问题,因为spring data elasticsearch和spring-data-r2dbc都依赖于不同版本的spring data commons;你得试试。

 类似资料:
  • 我创建了一个maven项目,并添加了我需要的所有依赖项。我有一些使用spall-data-jpa的存储库,我添加了一些集成测试。 现在,如果我知道它是基于springmvc的,我需要添加spring data rest的ontop。但是我发现的所有例子,我需要添加spring boot来启动应用程序。我还注意到所有新的spring项目都使用spring boot。这意味着我必须学习并在我的项目中使

  • 我们正在启动一个新项目,我们正在考虑使用spring hateoas/超媒体。HAL浏览器看起来也很有趣,所以我们想看看。 然而,HAL浏览器似乎与spring data rest捆绑在一起,我们不想使用它(出于不同的原因)。 至少我们不想将所有存储库自动公开为rest资源,但在这样做时,除了使用spring hateoas定义链接外,我们还需要明确定义HAL浏览器的链接。 当不自动公开存储库时,

  • 我有带有嵌套文档注释的帖子集合。简单的文档模式如下所示: 我只想投射所要求的评论。我找到了一个可以接受的解决方案。(也只欢迎使用注释对象返回解决方案) 然后我尝试将其应用于带有查询注释的mongoDB存储库接口。 但我得到了演员特例。有没有更好的方法来使用spring data mongodb实现这一点?

  • 我刚开始使用Springboot和Accessingdatajpa,我决定看看https://spring.io.我决定看的指南是访问数据jpa。我一直跟踪到最后,然后运行了我的应用程序。出乎意料的是,我收到了一条错误消息。 所以问题似乎很简单。它正在我的用户类中查找属性“名称”。但我实际上并没有在任何地方使用属性“名称”。 我的存储库界面: 我的用户类: 应用类: 我假设你们中的一些人在想,你没

  • 我有一个5列的表,我想用“Like”模式找出第1列、第2列和第3列之间的重叠。 修剪(列1)修剪(列2)修剪(列3)喜欢%搜索% 有没有什么捷径可以在不使用本机查询的情况下使用sping-data-jpa来实现这一点? 谢谢

  • 我在Mongodb中有一个如下所示的文档: 现在,我想转到一个基于特定“”的文档,对于该文档,我想转到“时间表”列表,其中对于几个特定日期(不仅是一个日期,而且是多个日期),我想将状态更新为“已预订”。我浏览了这个链接,如何使用过滤的位置运算符和ArrayFilter应用更新,但是在MongoTemplate类中,方法不接受参数。有人能帮忙吗 我出去。真的会感谢任何建议。谢谢。 注意:我使用的是s