Springboot 整合 Spring Data Solr的基本流程

1.创建索引库

2. 创建服务,引入spring data solr的起步依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-solr</artifactId>
        </dependency>

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文件定义业务域


	<field name="item_title" type="text_ik" indexed="true" stored="true"/>
	<field name="item_price" type="pfloat" indexed="true" stored="true"/>
	<field name="item_image" type="string" indexed="false" stored="true"/>
	<field name="item_createtime" type="pdate" indexed="true" stored="true"/>
	<field name="item_updatetime" type="pdate" indexed="true" stored="true"/>
	<field name="item_category" type="string" indexed="true" stored="true" />
	<field name="item_brand" type="string" indexed="true" stored="true"/>
	<field name="spec" type="string" indexed="true" stored="true"/>

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;

7.完成数据导入

 @Test
    public void test01() {
    //1.从数据库中查询,根据属性与字段的映射关系封装成集合
        List<Item> items = itemDao.selectAll();
        //2.使用SolrTemplate完成导入,存入索引库
        solrTemplate.saveBeans("collection1", items);
        solrTemplate.commit("collection1");
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值