cla*_*bgd 10 elasticsearch spring-data-elasticsearch
我正在玩spring-boot-sample-data-elastcisearch项目.我改变了pom并添加了:
SampleElasticsearchApplicationWebXml extends SpringBootServletInitializer
Run Code Online (Sandbox Code Playgroud)
运行Tomcat嵌入式.我的application.properties有
spring.data.elasticsearch.http-enabled=true
spring.data.elasticsearch.local=true
Run Code Online (Sandbox Code Playgroud)
我希望能够连接到localhost:9200以便使用elasticsearch-head或其他JS客户端.我错过了什么?谢谢,米兰
Fyn*_*ynn 17
根据此票证,您现在只需将此行添加到配置文件中:
spring.data.elasticsearch.properties.http.enabled=true
Run Code Online (Sandbox Code Playgroud)
你应该为自己定义这个,因为NodeClientFactoryBean有一个选项,http.enabled但ElasticSearchAutoConfiguration没有(还)设置它.
@Configuration
@EnableConfigurationProperties(ElasticsearchProperties.class)
public class ElasticsearchConfiguration implements DisposableBean {
private static Log logger = LogFactory.getLog(ElasticsearchConfiguration.class);
@Autowired
private ElasticsearchProperties properties;
private NodeClient client;
@Bean
public ElasticsearchTemplate elasticsearchTemplate() {
return new ElasticsearchTemplate(esClient());
}
@Bean
public Client esClient() {
try {
if (logger.isInfoEnabled()) {
logger.info("Starting Elasticsearch client");
}
NodeBuilder nodeBuilder = new NodeBuilder();
nodeBuilder
.clusterName(this.properties.getClusterName())
.local(false)
;
nodeBuilder.settings()
.put("http.enabled", true)
;
this.client = (NodeClient)nodeBuilder.node().client();
return this.client;
}
catch (Exception ex) {
throw new IllegalStateException(ex);
}
}
@Override
public void destroy() throws Exception {
if (this.client != null) {
try {
if (logger.isInfoEnabled()) {
logger.info("Closing Elasticsearch client");
}
if (this.client != null) {
this.client.close();
}
}
catch (final Exception ex) {
if (logger.isErrorEnabled()) {
logger.error("Error closing Elasticsearch client: ", ex);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9914 次 |
| 最近记录: |