solr学习以及集成springboot简单操作

首先solr下载可从官网进行下载, 不过官网下载有点慢
  • http://www.apache.org/dyn/closer.lua/lucene/solr/8.0.0
启动以及关闭操作指令
启动命令:solr start
关闭命令:solr stop -all
重启solr :solr restart –p p_num
    //windiws
solr.cmd start
启动完成进入页面
http://localhost:8983/solr
然后进行核心创建
1.在文件夹目录下创建E:\javaDevelop\solr-8.9.0\server\solr\d_new_core
2.E:\javaDevelop\solr-8.9.0\server\solr\configsets\sample_techproducts_configs目录下的conf文件夹整个复制到上面的目录下
3.进入页面进行创建    
进行创建springboot项目添加依赖,别管我的版本号 ,随意加的, 之前看别人的博客的话没有版本号 ,就自己加了
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-solr</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>
  • 然后直接创建对象

    package com.ite.demo.dao;
    import org.apache.solr.client.solrj.beans.Field;
    import org.springframework.data.annotation.Id;
    import org.springframework.data.solr.core.mapping.SolrDocument;
    @SolrDocument(solrCoreName = "d_new_core")
    public class Book {
        @Id
        @Field
        private String id;
        @Field
        private String description;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getDescription() {
            return description;
        }
        public void setDescription(String description) {
            this.description = description;
        }
    }
    
    • 修改配置文件

      spring:
        data:
          solr:
            host: http://localhost:8983/solr/d_new_core
      
    • 直接进行单元测试增删改查

      package com.ite.demo;
      import com.ite.demo.dao.Book;
      import org.apache.solr.client.solrj.SolrClient;
      import org.apache.solr.client.solrj.SolrQuery;
      import org.apache.solr.client.solrj.SolrServerException;
      import org.apache.solr.client.solrj.response.QueryResponse;
      import org.apache.solr.common.SolrInputDocument;
      import org.junit.jupiter.api.Test;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.boot.test.context.SpringBootTest;
      import java.io.IOException;
      import java.util.ArrayList;
      import java.util.List;
      @SpringBootTest
      class DemoSolrApplicationTests {
          @Autowired
          SolrClient solrClient;
          @Test
          public void add() {
              try {
                  for (int n = 2 ; n < 100 ;n ++){
                      SolrInputDocument document = new SolrInputDocument();
                      document.setField("id", String.valueOf(n));
                      document.setField("description","炊事班的故事" + String.valueOf(n));
                      solrClient.add(document);
                  }
                  solrClient.commit();
              } catch (SolrServerException e) {
                  e.printStackTrace();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
          @Test
          public void delete(){
              try {
                  solrClient.deleteByQuery("id:1");
                  solrClient.commit();
              } catch (SolrServerException e) {
                  e.printStackTrace();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
          @Test
          public void update(){
              try {
                  Book book = new Book();
                  book.setId("1");
                  book.setDescription("炊事班的故事2");
                  solrClient.addBean(book);
                  solrClient.commit();
              } catch (SolrServerException e) {
                  e.printStackTrace();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
          @Test
          public void queryAll() {
              List<Book> bookList = new ArrayList<Book>();
              SolrQuery solrQuery = new SolrQuery();
              solrQuery.setQuery("*:*");
              solrQuery.setStart(0);
              solrQuery.setRows(20);
              try {
                  QueryResponse queryResponse = solrClient.query(solrQuery);
                  if (queryResponse != null) {
                      bookList = queryResponse.getBeans(Book.class);
                      System.out.println("bookList:" + bookList.size());
                  }
              } catch (SolrServerException e) {
                  e.printStackTrace();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
      }
      
      记录一次简单的代码操作solr, 后续还尝试了分词器 ,这里贴两位作者的文档笔记,看完大部分功能都涉及到了 ,后续再慢慢补充吧
      • http://www.3qphp.com/java/framework/3360.html
      • https://www.cnblogs.com/wjs2019/p/14048033.html
      • https://blog.csdn.net/u012060033/article/details/124795404#124_solr_50
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值