gpt4 book ai didi

java - 在 Spring Boot 应用程序中连接到现有 ElasticSearch 实例时出现问题

转载 作者:行者123 更新时间:2023-11-30 07:32:28 26 4
gpt4 key购买 nike

我有一个本地运行的elasticsearch实例。我有一个 Spring 启动应用程序。在我的应用程序中,我有一个服务 ServiceX,其中包含一个扩展 ElasticsearchRepository 的 elasticsearch 存储库。所以服务X包含YRepository 扩展了 ElasticsearchRepository

我有一个本地运行的elasticsearch实例。

我的 Elasticsearch 设置是

ELASTICSEARCH (ElasticsearchProperties)
spring.data.elasticsearch.properties.http.enabled=true
spring.data.elasticsearch.properties.host = localhost
spring.data.elasticsearch.properties.port = 9300

当应用程序启动时,会创建一个elasticsearch模板。使用的客户端是 NodeClient。NodeClient 的设置为

"http.enabled" -> "true"
"port" -> "9300"
"host" -> "localhost"
"cluster.name" -> "elasticsearch"
"node.local" -> "true"
"name" -> "Human Robot"
"path.logs" -> "C:/dev/git/xxx/logs"

elasticsearch 的名称(本例中为 Human Robot)与运行的本地 elasticsearch 实例(本例中为 Nikki)不匹配。

看起来是这样的1.创建一个新的logstash实例2.创建logstash的嵌入式实例。

我搜索了很多信息,但找不到任何帮助的文档。

人们可以建议使用什么设置吗?谢谢。

最佳答案

我相信您不想使用 NodeClient,而是使用 TransportClient,除非您希望您的应用程序成为集群的一部分

我相信您有以下依赖性:

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

然后您需要创建一些配置类,如下所示:

@Configuration
@PropertySource(value = "classpath:config/elasticsearch.properties")
public class ElasticsearchConfiguration {

@Resource
private Environment environment;

@Bean
public Client client() {
TransportClient client = new TransportClient();
TransportAddress address = new InetSocketTransportAddress(
environment.getProperty("elasticsearch.host"),
Integer.parseInt(environment.getProperty("elasticsearch.port"))
);
client.addTransportAddress(address);
return client;
}

@Bean
public ElasticsearchOperations elasticsearchTemplate() {
return new ElasticsearchTemplate(client());
}
}

另请检查 ElasticSearch section Spring Boot 指南,特别是关于 spring.data.elasticsearch.cluster-nodes 的部分,如果您放置多个逗号分隔的主机端口列表,它将生成一个 TransportClient,您的选择

尝试一下,希望有帮助

关于java - 在 Spring Boot 应用程序中连接到现有 ElasticSearch 实例时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35889477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com