spring集成elasticsearch

环境说明

jdk1.7 , spring4.x, spring-data-elasticsearch2.xnode

pom引用

<dependency>
          <groupId>org.springframework.data</groupId>
          <artifactId>spring-data-elasticsearch</artifactId>
          <version>2.0.4.RELEASE</version>
      </dependency>

配置步骤

  1. 添加配置文件es.properties
elasticsearch_cluster_name=es
elasticsearch_cluster_nodes=11.12.84.126:9300
  1. 引入配置文件
<bean  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>file:#{systemProperties['es.properties']}</value>
            </list>
        </property>
        <property name="order" value="0" />
    </bean>
  1. 添加spring配置扫描
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
                            http://www.springframework.org/schema/data/elasticsearch http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd
                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <elasticsearch:transport-client id="client"
                                    cluster-nodes="${elasticsearch_cluster_nodes}" cluster-name="${elasticsearch_cluster_name}" />

    <bean name="elasticsearchTemplate"
          class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
        <constructor-arg ref="client" />
    </bean>

</beans>
  1. 使用
@Autowired
    private ElasticsearchTemplate template;
    @Autowired
    private TransportClient client;