Solr入門介紹


solr入門案例

 solr是apache下的一個全文檢索引擎系統. 我們需要在服務器上單獨去部署solr, 通過它的客戶端工具包solrJ, 就是一個
    jar包, 集成到我們項目中來調用服務器中的solr.
    solr底層使用lucene開發

部署步驟:
    1. 准備一個干凈的Tomcat, 沒有任何項目都可以運行的.
    2. 將solr/example/webapps/solr.war復制到Tomcat/webapps/目錄下
    3. 運行Tomcat,運行日志會報錯, 不要緊, 目的是對solr.war解壓
    4. 關閉Tomcat並刪除Tomcat/wabapps下的solr.war
    5. 將solr/example/lib/ext下的所有jar包復制到tomcat/webapps/solr/WEB-INF/lib文件夾下
    6. 復制solr/example/solr文件夾到硬盤根目錄並改名為solrhome(solrhome: 就是solr的家, 一個solr服務器只能有一個solrhome, 一個solrhome中可以都多個solrcore, 一個solrcore就是一個
    solr實例.實例和實例之間是互相隔離的.)
    7. 將solrhome的位置復制到Tomcat/webapps/solr/WEB-INf/web.xml中
    8. 啟動Tomcat, 訪問http://localhost:8080/solr看到solr頁面后說明部署成功

 

開發入門程序:

  依賴包:Solr服務的依賴包\solr\example\lib\ext ;solrj依賴包,\solr-4.10.3\dist\solrj-lib;junit

1、 創建HttpSolrServer對象,通過它和Solr服務器建立連接。

2、 創建SolrInputDocument對象,然后通過它來添加域。

3、 通過HttpSolrServer對象將SolrInputDocument添加到索引庫。

4、 提交。

代碼實現:

    public class TestIndexManager {
    @Test
    public void testIndexCreat throws Exception, IOException {
        HttpSolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
        // 創建文檔對象
        SolrInputDocument solrDocument = new SolrInputDocument();
        solrDocument.addField("id", "001");
        solrDocument.addField("title", "xxx");
        solrServer.add(solrDocument);
        solrServer.commit();
      }
    }

 

  修改:

    @Test
    public void testUpdate() throws Exception, IOException{
        HttpSolrServer httpSolrServer = new HttpSolrServer("http://localhost:8080/solr");
        SolrInputDocument solrInputDocument = new SolrInputDocument();
        
        solrInputDocument.addField("id", "001");
        solrInputDocument.addField("title", "yyy");
        httpSolrServer.add(solrInputDocument);
        httpSolrServer.commit();
    }

  刪除:

    @Test
    public void testDelect() throws Exception, IOException{
        HttpSolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr");
        solrServer.deleteByQuery("id:001");
        solrServer.commit();
    }

  查詢:

    @Test
    public void testSelect() throws Exception{
        HttpSolrServer httpSolrServer = new HttpSolrServer("http://localhost:8080/solr");
        
        SolrQuery solrQuery = new SolrQuery();
        solrQuery.setQuery("*:*");
        QueryResponse query = httpSolrServer.query(solrQuery);
        SolrDocumentList results = query.getResults();
        for (SolrDocument solrDocument : results) {
            System.out.println(solrDocument.get("id"));
            System.out.println(solrDocument.get("title"));
        }
        
    }


免責聲明!

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



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