elasticsearch整合boot
一、配置文件
配置文件:
# ELASTICSEARCH (ElasticsearchProperties)
spring.data.elasticsearch.cluster-name=elasticsearch # Elasticsearch cluster name.集群名
spring.data.elasticsearch.cluster-nodes=localhost:9300 # Comma-separated list of cluster node addresses.节点名
spring.data.elasticsearch.repositories.enabled=true # Whether to enable Elasticsearch repositories.开启repository二、es与redis整合,注入容器错误
增加ElasticConfig类,如果没有自定义配置Redis,注解改为@AutoConfigureBefore(RedisAutoConfiguration.class)
import org.elasticsearch.client.Client;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter;
import org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter;
import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext;
/**
* @Description elastic配置类,防止redis启动加载在elastic加载之前,然后报错
* @Author lcy
* @Date 2019/11/7 17:00
*/
@Configuration
@AutoConfigureBefore(RedisConfig.class)
public class ElasticConfig {
@PostConstruct
void init() {
System.setProperty("es.set.netty.runtime.available.processors", "false");
}
@Bean
public ElasticsearchTemplate elasticsearchTemplate(Client client,
ElasticsearchConverter converter){
try {
return new ElasticsearchTemplate(client,converter);
} catch (Exception ex) {
throw new IllegalStateException(ex);
}
}
@Bean
public ElasticsearchConverter elasticsearchConverter(
SimpleElasticsearchMappingContext mappingContext){
return new MappingElasticsearchConverter(mappingContext);
}
@Bean
public SimpleElasticsearchMappingContext mappingContext(){
return new SimpleElasticsearchMappingContext();
}
}