1. 程式人生 > >(一)Solr——簡介和安裝配置

(一)Solr——簡介和安裝配置

str 服務 開源項目 一個 war prop post 沒有 系統安裝

1. solr簡介

1.1 Solr是什麽

Solrapache的頂級開源項目它是使用java開發 ,基於lucene的全文檢索服務器。

Solrlucene的版本是同步更新的,最新的版本是7.0.1。下載地址http://archive.apache.org/dist/lucene/solr/

Solrlucene提供了更多的查詢語句,而且它可擴展、可配置,同時它對lucene的性能進行了優化。

Solr是如何實現全文檢索的呢?

索引流程:solr客戶端(瀏覽器、java程序)可以向solr服務端發送POST請求,請求內容是包含Field等信息的一個xml文檔,通過該文檔,solr實現對索引的維護(增刪改)

搜索流程:solr客戶端(瀏覽器、java程序)可以向solr服務端發送GET請求,solr服務器返回一個xml文檔。

Solr同樣沒有視圖渲染的功能

1.2 SolrLucene的區別

Lucene是一個全文檢索引擎工具包它只是一個jar不能獨立運行對外提供服務

Solr是一個全文檢索服務器它可以單獨運行在servlet容器可以單獨對外提供搜索和索引功能。Solrlucene在開發全文檢索功能時,更快捷、更方便。

        技術分享

2. Solr安裝配置

Solr的安裝步驟較多,以win7系統安裝4.10.3版本為例,介紹如下

2.1 下載solr-x.x.x.zip,解壓(這裏為方便演示,解壓到桌面)。

目錄下各個文件夾作用如下

    技術分享

2.2 將以下的war拷貝到tomcatwebapps目錄下,解壓縮之後,再war包刪掉

    技術分享

完成後tomcat的webapps目錄顯示如下:

    技術分享

2.3 添加solr的擴展服務包到\webapps\solr\WEB-INF\lib 路徑下

    技術分享

將以上jar,添加到如下目錄

    技術分享

2.4 添加log4j.properties到 \webapps\solr\WEB-INF\classes 路徑下

    技術分享

添加到如下目錄

    技術分享

2.5 web.xml中指定Solrhome的目錄

  技術分享

2.6 Solrcore 的安裝

2.6.1 Solrcore和Solrhome

Solrhome是solr服務運行的主目錄,一個solrhome目錄裏面包含多個solrcore目錄,一個solrcore目錄裏面了一個solr實例運行時所需要的配置文件和數據文件。

每一個solrcore都可以單獨對外提供搜索和索引服務,多個solrcore之間沒有關系。

2.6.2 SolrcoreSolrhome的目錄結構

Solrhome的目錄結構

    技術分享

Solrcore目錄

    技術分享

2.6.3 安裝SolrCore

安裝solrcore需要先安裝solrhome——將以下目錄的文件拷貝到之前在web.xml中指定Solrhome的目錄下

   技術分享

拷貝到如下目錄,這樣solrhomesolrcore就安裝成功了

    技術分享

2.7 Solrcore配置

solrcoreconf目錄下有一個配置文件solrconfig.xml在該文件中主要配置三個標簽lib標簽、datadir標簽、requestHandler標簽

如果對該文件不進行配置也可以即使用默認的配置項

    技術分享

2.7.1 lib 標簽

Solrcore需要添加一個擴展依賴包通過lib標簽來指定依賴包的地址

將以下目錄的文件進行拷貝

    技術分享

復制到以下目錄

    技術分享

修改lib標簽(solr.install.dir:表示solrcore的安裝目錄)

技術分享

2.7.2 datadir標簽

每個SolrCore都有自己的索引文件目錄,默認在SolrCore目錄下的data中。

data數據目錄下包括了index索引目錄和tlog日誌文件目錄。如果不想使用默認的目錄也可以通過solrConfig.xml更改索引目錄 ,如下:

技術分享

2.7.3 requestHandler標簽

requestHandler請求處理器,定義了索引和搜索的訪問方式。

通過/update維護索引,可以完成索引的添加、修改、刪除操作。

技術分享

提交xmljson數據完成索引維護。

通過/select搜索索引。

技術分享

設置搜索參數完成搜索,搜索參數也可以設置一些默認值,如下:

<requestHandler name="/select" class="solr.SearchHandler">
    <!-- 設置默認的參數值,可以在請求地址中修改這些參數-->
    <lst name="defaults">
        <str name="echoParams">explicit</str>
        <int name="rows">10</int><!--顯示數量-->
        <str name="wt">json</str><!--顯示格式-->
        <str name="df">text</str><!--默認搜索字段-->
    </lst>
</requestHandler>

3. 啟動solr服務

技術分享

(一)Solr——簡介和安裝配置