0
点赞
收藏
分享

微信扫一扫

正则表达式新解

栖桐 2023-09-27 阅读 105

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");
    }
举报

相关推荐

0 条评论