1.1-spring 集成
优质
小牛编辑
132浏览
2023-12-01
1.1 Spring 集成
这是 elasticsearch-rest-plus最常用的一种的环境。通用 elasticsearch-rest-plus提供了多种方式来和 Spring 进行集成。
1.1.1 添加依赖
在开始配置前,先添加相关的依赖。
正常情况下,Spring 和 elasticsearch-rest-plus的集成环境中,应该已经存在下面的依赖:
<dependency>
<groupId>cn.xphsc</groupId>
<artifactId>elasticsearch-rest-plus</artifactId>
<version>1.0.2</version>
</dependency>
注意:获取版本 https://mvnrepository.com/artifact/cn.xphsc/elasticsearch-rest-plus
1.1.2 和 Spring 集成
和 Spring 进行集成时,分为 XML 和注解配置两种方式,每种方式又有不同的配置方式。
这里提供了很多配置方式,使用时选择一种改动最小的方式即可!
1.2.2.1 XML 配置
<!-- 配置elasticsearch-rest-plus模版-->
<bean id="elasticsearchTemplate" class="com.xphsc.elasticsearch.core.ElasticsearchTemplate">
<!-- 默认必须使用数据源 -->
<property name="uris" ref ="http://localhost:9200"></property>
</bean>
1.1.2.2.使用 Configuration 进行配置
@Configuration
public static class ElasticsearchTemplateConfiguration {
@Bean
public ElasticsearchTemplate elasticsearchTemplate() {
ElasticsearchTemplate elasticsearchTemplate=new ElasticsearchTemplate();
if(Collects.isNotEmpty(elasticsrarchRestProperties.getUris())&&Strings.isBlank(elasticsrarchRestProperties.getProxy().getHost())){
elasticsearchTemplate.setUris(elasticsrarchRestProperties.getUris().toArray(new String[]{}));
}
if(Strings.isNotBlank(elasticsrarchRestProperties.getProxy().getHost())){
elasticsearchTemplate.setProxyHost(elasticsrarchRestProperties.getProxy().getHost());
if(elasticsrarchRestProperties.getProxy().getPort()!=0){
elasticsearchTemplate.setProxyPort(elasticsrarchRestProperties.getProxy().getPort());
}
}
if(Strings.isNotBlank(elasticsrarchRestProperties.getUser_name())){
elasticsearchTemplate.setUserName(elasticsrarchRestProperties.getUser_name());
}
if(Strings.isNotBlank(elasticsrarchRestProperties.getPassword())){
elasticsearchTemplate.setPassword(elasticsrarchRestProperties.getPassword());
}
elasticsearchTemplate.setConnectTimeout(elasticsrarchRestProperties.getConnect_timeout());
elasticsearchTemplate.setSocketTimeout(elasticsrarchRestProperties.getSocket_timeout());
elasticsearchTemplate.setConnectionRequestTimeout(elasticsrarchRestProperties.getConnection_request_timeout());
elasticsearchTemplate.setMaxRetryTimeoutMillis(elasticsrarchRestProperties.getMax_retry_timeout_millis());
return elasticsearchTemplate;
}