无端口的spring boot弹性搜索配置
当您的dns URL不是弹性搜索端口时,如何使用spring boot配置弹性搜索 @配置 @EnableElasticsearchRepositories(basePackageClasses={com.upgrad.careers.careersapi.repository.ElasticJobRepository.class}) @组件扫描(basePackageClasses={com.upgrad.careers.careersapi.service.ESService.class}) 公共类弹性配置{无端口的spring boot弹性搜索配置,spring,spring-boot,
elasticsearch,spring-data,Spring,Spring Boot,
elasticsearch,Spring Data,当您的dns URL不是弹性搜索端口时,如何使用spring boot配置弹性搜索 @配置 @EnableElasticsearchRepositories(basePackageClasses={com.upgrad.careers.careersapi.repository.ElasticJobRepository.class}) @组件扫描(basePackageClasses={com.upgrad.careers.careersapi.service.ESService.class})
@Autowired
private Environment environment;
@Bean
public RestHighLevelClient client(){
ClientConfiguration clientConfiguration =
ClientConfiguration.builder()
.connectedTo("https://elastic_url")
.withBasicAuth("username",
"password")
.build();
return RestClients.create(clientConfiguration).rest();
}
@Bean
public ElasticsearchOperations elasticsearchTemplate(){
return new ElasticsearchRestTemplate(client());
}
}
我得到了这个错误
无法分析端口号:https://elastic_url
位于org.springframework.data.elasticsearch.client.InetSocketAddressParser.parse(InetSocketAddressParser.java:68)
位于org.springframework.data.elasticsearch.client.ClientConfigurationBuilder.parse(ClientConfigurationBuilder.java:238)
位于java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
位于java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
位于java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
位于java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
位于java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
位于java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
位于java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
位于org.springframework.data.elasticsearch.client.ClientConfigurationBuilder.connectedTo(ClientConfigurationBuilder.java:74)
位于org.springframework.data.elasticsearch.client.ClientConfiguration$ClientConfigurationBuilderWithRequiredEndpoint.connectedTo(ClientConfiguration.java:189)
在com.upgrad.careers.careersapi.config.ElasticConfiguration.client(ElasticConfiguration.java:28)上
在com.upgrad.careers.careersapi.config.ElasticConfiguration$$EnhancerBySpringCGLIB$$c0c6635d.CGLIB$client$0()
在com.upgrad.careers.careersapi.config.ElasticConfiguration$$EnhancerBySpringCGLIB$$c0c6635d$$FastClassBySpringCGLIB$$90208c30.invoke()上
位于org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
位于org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
在com.upgrad.careers.careersapi.config.ElasticConfiguration$$EnhancerBySpringCGLIB$$c0c6635d.client()上
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:566)
位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:154)
... 省略99个公共帧
与目标VM断开连接,地址:'127.0.0.1:53432',传输:'socket'您需要提供弹性服务器主机,而不是URL。您已经告诉它使用端口连接到https
//elastic\u url
。我已经管理了弹性搜索和弹性url,我正在使用它们通过post manHuh进行查询。这很奇怪。即使只提供主机而不提供url,它也默认为9200,这在我看来是错误的。对不起,它是“主机:端口”,就像API文档中为connectedTo
记录的那样。使用SSL的端口是443。