solr7.7.0与 springboot 编码 (五)

1接上篇 设置中文分词。

2 现在开始,我这里着重码代码,也可在solr页面自己去手动添加索引,设置数据库连接批量导入索引等,(这里不在做介绍)

3 springboot与solr7集成环境搭建:

3.1. 创建maven工程,下面是依赖

 
        
        
            org.springframework.boot
            spring-boot-starter-data-solr
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            mysql
            mysql-connector-java
            runtime
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
        
            junit
            junit
            test
        
    

  

2 配置文件:配置solr  

solr7.7.0与 springboot 编码 (五)_第1张图片

 

 

#solr配置
spring.data.solr.host=http://XXX:8081/solr7/new_core

yml格式的配置改成对应风格的配置;

3编写实体类

package com.demo.entity;

import lombok.Data;
import org.apache.solr.client.solrj.beans.Field;
import org.springframework.data.annotation.Id;
import org.springframework.data.solr.core.mapping.SolrDocument;

import java.io.Serializable;

/**
 *
 * @author xxx
 * @version 1.0
 * @date 2020/1/10/010 10:34
 **/
@Data
@SolrDocument(solrCoreName = "new_core")
public class Book implements Serializable {

    /**
     * id
     */
    @Id
    @Field
    private int id;

    /**
     * 内容
     */
    @Field("content_ik")
    private String content;

    /**
     * 标题
     */
    @Field("title_ik")
    private String title;


    /**
     * name  这个没设置中文分词
     */
    @Field("name")
    private String name;
}

4 测试类:

package com.demo.solr;

import com.demo.entity.Book;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.common.SolrInputDocument;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.IOException;

@SpringBootTest(classes = {SolrApplication.class})
@RunWith(SpringRunner.class)
class SolrApplicationTests {

    @Autowired
    SolrClient solrClient;


    @Test
    public void add() throws IOException, SolrServerException {

        for (int i = 1; i < 51; i++) {
            //  solrClient.deleteById(i+"");
            SolrInputDocument document = new SolrInputDocument();
            Book book = new Book();
            book.setId(i);
            book.setContent("孙尚香削弱,马超削弱,新出英雄,地图调整" + i);
            book.setName("孙尚香削弱,马超削弱,新出英雄,地图调整" + i);
            book.setTitle("王者荣耀18赛季-" + i);
            document.setField("id", book.getId());
            document.setField("title_ik", book.getTitle());
            document.setField("content_ik", book.getContent());
            document.setField("name", book.getName());
            solrClient.add(document);
        }
        solrClient.commit();


    }

}

5  页面检测:

solr7.7.0与 springboot 编码 (五)_第2张图片

 

 

 

增加删除修改都差不多,增加和修改可以通过add(SolrInputDocument)和addBean,根据主键是否存在来判断是新增还是修改,删除可以通过主键或者条件进行删除。增删改之后一定要记得commit!

 

 

6:高亮查询,分页,分组查询,这里不在做介绍,自行百度。下一篇将介绍对pdf,doc等文件的索引以及查询。

你可能感兴趣的:(solr7.7.0与 springboot 编码 (五))