我有一个本地运行的elasticsearch实例。我有一个spring boot应用程序。在我的应用程序中,我有一个服务ServiceX,其中包含一个elasticsearch存储库,它扩展了ElasticsearchRepository。所以服务X包含YRepository扩展了ElasticsearchRepository
我有一个本地运行的elasticsearch实例。
我的弹性搜索设置是
ELASTICSEARCH (ElasticsearchProperties)
spring.data.elasticsearch.properties.http.enabled=true
spring.data.elasticsearch.properties.host = localhost
spring.data.elasticsearch.properties.port = 9300
当应用程序启动时,会创建一个弹性搜索模板。使用的客户端是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(本例中为人类机器人)的名称与正在运行的本地elasticsearch实例(本例中为Nikki)不匹配。
看起来是这样的。创建logstash 2的新实例。创建logstash的嵌入式实例。
我翻遍了很多资料,但找不到任何可以帮忙的留档。
请大家建议使用什么设置好吗?谢谢
谢谢。你相信吗,在我看到你的帖子之前,我实际上刚刚开始尝试使用配置文件。我添加了一个配置类
@Configuration
public class ElasticSearchConfig {
@Bean
public Client client() {
TransportClient client = new TransportClient();
TransportAddress address = new InetSocketTransportAddress(
"localhost",9300);
client.addTransportAddress(address);
return client;
}
}
客户端现在正被注入到elasticsearch模板中(因此不需要elasticsearch ch模板bean)。
我在尝试连接时出错,但结果是由于elasticsearch 2.2.0,我用elasticsearch 1.7.3进行了尝试,现在可以解决下一个问题了!
我认为,除非您希望应用程序成为集群的一部分,否则您不想使用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());
}
}
还要检查Spring靴导槽的弹性部分,尤其是关于Spring的部分。数据弹性搜索。集群节点如果你放置多个逗号分隔的主机端口列表,它将生成一个TransportClient,由你选择
试试看,希望有帮助
Spring启动应用程序。 MongoDb云上托管的MongoDb数据库。 应用特性 错误 如果我与MongoDb Compass使用相同的主机/端口/用户/密码组合,我可以连接而不会出现问题。 如果我使用这样的集群连接 应用程序抛出错误 我已打开防火墙,以接受任何连接。 Analitics显示了一些操作,但我在Spring仍然会出错。 我只是遵循一个youtube教程。在他们的例子中,这并没有引
我试图在一个spring-boot应用程序中运行一个selenium测试(通过GalenFramework完成)。我面临的问题是在自动驾驶部分。由于NULLPOINTER异常,我无法将AppDetails类自动连接到测试类中。 在尝试单独运行测试时(直接从或方法),我得到了nullpointer异常。 但我能够运行()应用程序,这不是必需的,即使我试图运行应用程序以确保正确读取yaml文件(shi
一旦我运行我的代码,它给出了下面的错误。在这里我可以解决这个问题。 在com中输入personRepository。实例演示。服务PersonService需要一个名为“mongoTemplate”的bean,但找不到该bean。 注入点有以下注释:-@org.springframework.beans.factory.annotation.自动配电(必需=true) 行动: 考虑在配置中定义一个
我想对Spring数据使用ElasticSearch。我使用的是Spring 5、Spring Boot 2和ElasticSearch 7.4。Docker compose: 马文: 存储库: 配置: 和错误时启动应用程序: 引起:java.lang.NoSuchMEDError:org.springframework.http.HttpHeaders.(Lorg/springframe/uti
我使用Angular 4、Spring boot和Mysql。在当地,一切正常。我尝试部署在远程服务器Centos 7上。除了当我访问我的网站时,它从我的本地数据库获取数据,而不是从位于远程服务器上的mysql数据库获取数据之外,所有这些都可以正常工作。 我在另一台计算机上试过,结果是一样的,它从本地计算机获取数据! 这是我的Spring Boot的application.properties文件
我在SpringBoot中安装了开发人员应用程序,导出了war文件并将其放在Tomcat9服务器中。当我尝试在Rest客户端中测试API时,应用程序正在连接到测试DB,而不是我在应用程序中声明的DB。mongodb的属性,下面是我的应用程序。所有物 有人能帮我吗。