Springboot 整合 Spring Data Solr
1.创建索引库
2. 创建服务,引入spring data solr的起步依赖
org.springframework.boot
spring-boot-starter-data-solr
3. 在yml文件中,配置solr地址
spring:
data:
solr:
host: http://localhost:8080/solr
4. 编写配置类,将SolrTemplate交由spring管理
@Bean
public SolrTemplate solrTemplate(SolrClient solrClient) {
return new SolrTemplate(solrClient);
}
5. 在managed.schem文件定义业务域
6. 使用Spring Data Solr中的@Field注解,建立实体类属性和域的映射关系。
@Data
@Table(name = "tb_item")
public class Item {
@Id
@Column(name="id")
@Field("id")
private Integer id;
@Column(name="title")
@Field("item_title")
private String title;
@Column(name="image")
@Field("item_image")
private String image;
@Column(name="price")
@Field("item_price")
private Double price;
@Column(name="create_time")
@Field("item_createtime")
private Date createTime;
@Column(name="update_time")
@Field("item_updatetime")
private Date updateTime;
@Column(name="category")
@Field("item_category")
private String category;
@Column(name="brand")
@Field("item_brand")
private String brand;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
7.完成数据导入
@Test
public void test01() {
//1.从数据库中查询,根据属性与字段的映射关系封装成集合
List- items = itemDao.selectAll();
//2.使用SolrTemplate完成导入,存入索引库
solrTemplate.saveBeans("collection1", items);
solrTemplate.commit("collection1");
}