elasticsearch,Java,Spring,Maven,elasticsearch" /> elasticsearch,Java,Spring,Maven,elasticsearch" />

Java Sprint启动和弹性搜索连接问题

Java Sprint启动和弹性搜索连接问题,java,spring,maven,elasticsearch,Java,Spring,Maven,elasticsearch,我正在使用SpringBoot和弹性搜索创建一个应用程序。Spring应用程序部分正在工作。而且,当我启动弹性服务器时,它也运行良好。没有问题。我可以通过邮递员和卷发来测试它。添加和搜索效果很好 但是当我运行应用程序时,我会遇到以下问题。 这就是我在IDE中遇到的问题。(这意味着来自我的java应用程序) org.elasticsearch.client.transport.NoNodeAvailableException:配置的节点均不可用:[{{transport}-1}{127.0.0.1

我正在使用SpringBoot和弹性搜索创建一个应用程序。Spring应用程序部分正在工作。而且,当我启动弹性服务器时,它也运行良好。没有问题。我可以通过邮递员和卷发来测试它。添加和搜索效果很好

但是当我运行应用程序时,我会遇到以下问题。 这就是我在IDE中遇到的问题。(这意味着来自我的java应用程序)

org.elasticsearch.client.transport.NoNodeAvailableException:配置的节点均不可用:[{{transport}-1}{127.0.0.1}{127.0.0.1:9300}]

这就是我从本地系统的Elasctic服务器得到的问题


java.lang.IllegalStateException:从不受支持的版本[2.0.0]接收到消息。最小兼容版本为:[5.0.0]

这些是我正在使用的库

  • 弹簧护套1.5.1.1释放
  • 弹簧启动启动器数据Elasticsearch 1.5.1.1发布
  • 弹簧数据弹性搜索2.10.1发布
  • 弹性搜索5.0
我认为这是一个弹性和以上库版本不匹配的问题。 我不熟悉弹性和弹簧。版本问题就在这里。

这里还有我的pom.xml。如果我需要更新任何库,有人能告诉我那是什么吗?还告诉我如何更新这些库?我可以在不更改源代码的情况下更新它们吗

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<artifactId>springboot-springdata-elasticsearch-example</artifactId>
<packaging>jar</packaging>
<url>https://www.mkyong.com</url>
<version>1.0</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
</parent>

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!-- Runtime, for Embedded Elasticsearch,
        comment this if connect to external elastic search server-->
    <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <scope>runtime</scope>
    </dependency>

</dependencies>

<build>
    <plugins>
        <!-- Package as an executable jar/war -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
springboot springdata elasticsearch示例
罐子
https://www.mkyong.com
1
org.springframework.boot
spring启动程序父级
1.5.1.1发布
1.8
org.springframework.boot
弹簧启动启动器数据弹性搜索
org.springframework.boot
弹簧起动试验
测试
net.java.dev.jna
jna
运行时
org.springframework.boot
springbootmaven插件


在这个pom.xml中,我也找不到所有依赖项。

根据您提供的版本矩阵,您使用的spring引导版本与ElasticSearch 5.x实例不兼容。因此,我认为您有3个选项:

  • 如果您确实需要使用ElasticSearch 5.0使用SpringBoot 1.5.1,您应该添加与ElasticSearch 5.0相关的maven依赖项,并实现您自己的DAO服务
  • 您可以尝试将ElasticSearch版本降级为2.4,以使其与当前的spring boot版本兼容
  • 也许您可以尝试使用最新的spring启动版本(1.5.4),因为根据spring数据elasticsearch项目(),最新版本支持elasticsearch 5.x,所以这可能是最简单的方法

请告诉我上面的选项是否对您有用。

根据您链接的版本矩阵,您不能将elasticsearch 5.x用于您想要使用的Spring库。您是否在外部运行elasticsearch?看起来是这样。您需要运行2.x的elasticsearch。@Phil嘿,elastic 2.x和5.x之间有什么变化?@Phil我可以更新Spring libraris以使用Elastic 5.x吗?请帮助meLast point这么好。事实上,这也是我想要的。那么,你能帮我吗?我可以更新pom.xml吗?不更改我的代码吗?你只需要将项目父版本(在你的pom中)更改为1.5.4.RELEASE(而不是1.5.1.RELEASE):重新编译您的项目并验证其是否有效。仍然存在相同的问题。从不支持的版本:[2.0.0]收到的消息最小兼容版本为:[5.0.0]->这就是问题所在。。。。。