【springboot】【solr】springboot+solr集群


 

在此基礎上:win10下solr7.2.1+tomcat9.0.33+zookeeper3.5.6集群

 

 

 

或者直接添加依賴

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

 

application.yml

spring:
  data:
    solr:
      host: http://127.0.0.1:8800/solr,http://127.0.0.1:8801/solr,http://127.0.0.1:8802/solr
      repositories:
        enabled: true
      zk-host: 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

 

測試類

 1 package com.xiaostudy.solr;
 2 
 3 import org.apache.solr.client.solrj.SolrQuery;
 4 import org.apache.solr.client.solrj.SolrRequest;
 5 import org.apache.solr.client.solrj.SolrServerException;
 6 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 7 import org.apache.solr.client.solrj.request.QueryRequest;
 8 import org.apache.solr.client.solrj.response.QueryResponse;
 9 import org.apache.solr.common.SolrDocumentList;
10 import org.junit.jupiter.api.Test;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.boot.test.context.SpringBootTest;
13 
14 import java.io.IOException;
15 
16 @SpringBootTest
17 class SolrApplicationTests {
18 
19     @Autowired
20     private CloudSolrClient cloudSolrClient;
21 
22     @Test
23     void contextLoads() {
24         System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
25         SolrDocumentList query = query("id:1");
26         System.out.println(query.getNumFound());
27         System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
28     }
29 
30     public SolrDocumentList query(String value) {
31         SolrDocumentList st = null;
32         SolrQuery param = new SolrQuery();
33         param.setQuery( value );
34         param.setRows(5);
35         QueryResponse rsp = null;
36         try {
37             QueryRequest req = new QueryRequest( param, SolrRequest.METHOD.POST );
38 //            req.setBasicAuthCredentials("username", "password");//如果有密碼的話
39             cloudSolrClient.setDefaultCollection("test2");
40             rsp = req.process(cloudSolrClient);
41             st = rsp.getResults();
42         } catch (SolrServerException e) {
43             e.printStackTrace();
44         } catch (IOException e) {
45             e.printStackTrace();
46         }
47         return st;
48     }
49 
50 }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

另外:單機版

application.yml

spring:
  data:
    solr:
      host: http://127.0.0.1:8080/solr

測試類

package com.xiaostudy.solr;

import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.IOException;

@SpringBootTest
class SolrApplicationTests {

    @Autowired
    private SolrClient solrClient;

    @Test
    void contextLoads() {
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
        SolrDocumentList query = query("id:2");
        System.out.println(query.getNumFound());
        System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
    }

    public SolrDocumentList query(String value) {
        SolrDocumentList st = null;
        SolrQuery param = new SolrQuery();
        param.setQuery( value );
        param.setRows(5);
        try {
            QueryResponse archives = solrClient.query("test2", param, SolrRequest.METHOD.POST);
            st = archives.getResults();
        } catch (SolrServerException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return st;
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM