1. 程式人生 > >全文檢索技術—Solr

全文檢索技術—Solr

1、什麼是Solr
Solr 是Apache下的一個頂級開源專案,採用Java開發,它是基於Lucene的全文搜尋伺服器。Solr提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴充套件,並對索引、搜尋效能進行了優化。 
Solr可以獨立執行,執行在Jetty、Tomcat等這些Servlet容器中,Solr 索引的實現方法很簡單,用 POST 方法向 Solr 伺服器傳送一個描述 Field 及其內容的 XML 文件,Solr根據xml文件新增、刪除、更新索引 。Solr 搜尋只需要傳送 HTTP GET 請求,然後對 Solr 返回Xml、json等格式的查詢結果進行解析,組織頁面佈局。Solr不提供構建UI的功能,Solr提供了一個管理介面,通過管理介面可以查詢Solr的配置和執行情況。

2、Solr和Lucene的區別


3、Solr的安裝

第一步:把solr的壓縮包解壓縮。、
第二步:安裝tomcat。
第三步:把solr-4.10.3\dist目錄下的solr-4.10.3.war部署到tomcat下。把war包改名為solr.war(改名不是必須的,為了便於訪問)
第四步:解壓solr.war,啟動tomcat自動解壓。關閉tomcat,刪除solr.war
第五步:把\solr-4.10.3\example\lib\ext目錄下的所有的jar包新增到solr工程中。
第六步:需要一個solrhome,solrhome就是solr伺服器所有的配置檔案存放的目錄。可以使用solr-4.10.3\example\solr目錄做為solrhome。
第七步:配置solr服務,指定solrhome的位置。告訴solr服務solrhome在哪兒。需要修改solr工程的web.xml檔案。
第八步:啟動tomcat。訪問:http://localhost:8080/solr/


4、Solr後臺介紹
4.1、Core Admin
在此功能中可以檢視solrcore的情況。
4.2、Core selector
在此處可以選擇要管理的solrcore。
4.3、Analysis
分析功能。可以檢視分析器的分詞效果。
4.4、Dataimport
可以配置dataimport外掛把資料庫中的資料匯入到索引庫中。
4.5、Documents
可以使用此功能實現索引庫的維護,增刪改功能。
4.6、Query
查詢索引庫。

5、SolrJ的使用
Solr的客戶端。
5.1、新增文件:
第一步:建立一個java工程。
第二步:把solrJ相關的jar包新增到工程中。
第三步:使用SolrServer和solr服務端建立一個連線。SolrServer是一個抽象類,單機版使用HttpSolrServer,如果solr叢集,使用CloudSolrServer。
第四步:建立一個文件物件SolrInputDocument物件。
第五步:向文件物件中新增域。必須包含id域,域名稱必須在schema.xml中定義。
第六步:使用SolrServer物件把文件新增到索引庫。
第七步:提交。Commit。
5.2、

刪除文件:
根據id刪除;
根據查詢刪除
5.3、更新文件:
5.4、查詢文件:
簡單查詢;
複雜查詢