. SpringDataSolr入门 1.1 Spring Data Solr 简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将 Solr 的应用集成到 Spring 中?可以,Spring Data Solr 就是为了方便 Solr 的开发所研制的一个框架,其底层是对 SolrJ(官方 API)的封装。

1.2 Spring Data Solr 入门小 Demo1.2.1 搭建工程 (1)创建 maven 工程,pom.xml 中引入依赖


<dependencies>
 
<dependency>
<groupId>org.springframework.data</groupId>
 
<artifactId>spring-data-solr</artifactId>
 
<version>1.5.5.RELEASE</version>
 
</dependency>
 
<dependency>
 
<groupId>org.springframework</groupId>
 
<artifactId>spring-test</artifactId>
 
<version>4.2.4.RELEASE</version>
 
</dependency>
 
<dependency>
 
<groupId>junit</groupId>
 
<artifactId>junit</artifactId>
 
<version>4.9</version>
 
</dependency>
 
</dependencies>

(2)在 src/main/resources 下创建 applicationContext-solr.xml

<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:solr="http://www.springframework.org/schema/data/solr" xsi:schemaLocation="http://www.springframework.org/schema/data/solr
[url=http://www.springframework.org/schema/data/solr/spring-solr-1.0.xsd]http://www.springframework.org/s ... spring-solr-1.0.xsd[/url]
[url=http://www.springframework.org/schema/beans]http://www.springframework.org/schema/beans[/url] [url=http://www.springframework.org/schema/beans/spring-beans.xsd]http://www.springframework.org/schema/beans/spring-beans.xsd[/url] [url=http://www.springframework.org/schema/context]http://www.springframework.org/schema/context[/url] [url=http://www.springframework.org/schema/context/spring-context.xsd]http://www.springframework.org/schema/context/spring-context.xsd[/url]">
<!--  solr 服务器地址 -->
 
<solr:solr-server  id="solrServer"  url="http://127.0.0.1:8080/solr"  />
 
<!--  solr 模板,使用 solr 模板可对索引库进行 CRUD 的操作 -->
 
<bean  id="solrTemplate"  class="org.springframework.data.solr.core.SolrTemplate">
 
 
<constructor-arg  ref="solrServer"  />
 
 
</bean>
 
 
</beans>

1.1.1 @Field注 解 创建 cn.itcast.pojo 包,将品优购的 TbItem 实体类拷入本工程 ,属性使用@Field 注解标识 。如果属性与配置文件定义的域名称不一致,需要在注解中指定域名称。

public  class  TbItem  implements  Serializable{
 
 
 
@Field
 
private  Long  id;
 
 
 
@Field("item_title")
 
private  String  title;
@Field("item_price")
 
private  BigDecimal  price;
 
 
 
@Field("item_image")
 
private  String  image;
 
 
 
@Field("item_goodsid")
 
private  Long  goodsId;
 
 
 
@Field("item_category")
 
private  String  category;
 
 
 
@Field("item_brand")
 
private  String  brand;
 
 
 
@Field("item_seller")
 
private  String  seller;
 
.......
 
}

1.1.1 增加(修改) 创建测试类 TestTemplate.java

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:applicationContext-solr.xml")
 
 
public  class  TestTemplate  {
 
 
 
 
@Autowired
 
 
private  SolrTemplate  solrTemplate;
 
 
 
 
@Test
 
 
public  void  testAdd(){
 
 
TbItem  item=new  TbItem(); item.setId(1L);
item.setBrand("华为");
 
item.setCategory("手机"); item.setGoodsId(1L);
item.setSeller("华为 2 号专卖店");
 
item.setTitle("华为 Mate9");
 
item.setPrice(new  BigDecimal(2000)); solrTemplate.saveBean(item); solrTemplate.commit();
}
 
 
}