Solr安裝配置
Solr和lucene的版本是同步更新的,本文使用的版本:4.10.3
下載地址:(http://archive.apache.org/dist/lucene/solr/)Linux下需要solr-4.10.3.tgz,windows下需要solr-4.10.3.zip。
解壓solr-4.10.3.zip:
bin:solr的運行腳本
contrib:solr的一些擴展jar包,用於增強solr的功能。
dist:該目錄包含build過程中產生的war和jar文件,以及相關的依賴文件。
docs:solr的API文檔
example:solr工程的例子目錄:
1)example/solr:
該目錄是一個標準的SolrHome,它包含一個默認的SolrCore
2)example/multicore:
該目錄包含了在Solr的multicore中設置的多個Core目錄。
3)example/webapps:
該目錄中包括一個solr.war,該war可作爲solr的運行實例工程。
licenses:solr相關的一些許可信息
運行環境
企業中一般使用Tomcat作爲服務器,本文也是一樣,
相關環境如下:
Solr:4.10.3
Jdk環境:1.7(solr4.10 不能使用jdk1.7以下)
服務器:Tomcat 7
SolrCore配置
SolrHome和SolrCore
SolrHome是Solr服務運行的主目錄,該目錄中包括了多個SolrCore目錄。
SolrCore目錄中包含了運行Solr實例所有的配置文件和數據文件,Solr實例就是SolrCore。每個SolrCore提供單獨的搜索和索引服務。
SolrHome目錄:
SolrCore目錄:
創建SolrCore
創建SolrCore先要創建SolrHome。在solr解壓包下solr-4.10.3\example\solr文件夾就是一個標準的SolrHome,只需要將它複製到指定的目錄下即可。複製該文件夾到本地的一個目錄,把文件名稱改爲solrhome。(改名不是必須的,只是爲了便於理解)
配置SolrCore
配置SolrCore目錄下的conf/solrconfig.xml
這個文件是來配置SolrCore實例的相關信息。如果使用默認配置可以不用做任何修改。它裏面包含了不少標籤,但是我們經常使用的標籤爲:lib標籤、datadir標籤、requestHandler標籤
創建lib 標籤
在solrconfig.xml中可以加擴展載一些的jar,如果需要使用,則首先要把這些jar複製到指定的目錄,我們複製到SolrHome同級目錄。複製之前解壓的文件夾中的contrib和dist文件夾
粘貼到SolrHome同級目錄下。
修改solrconfig.xml配置文件加載擴展的jar。
解析標籤
1).datadir標籤
配置SolrCore的data目錄。data目錄用來存放SolrCore的索引文件和tlog日誌文件
solr.data.dir表示${SolrCore}/data的目錄位置
2).requestHandler標籤
requestHandler請求處理器,定義了索引和搜索的訪問方式。
通過/update維護索引,可以完成索引的添加、修改、刪除操作。
通過/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>
Solr工程部署
由於在項目中用到的web服務器大多數是用的Tomcat,所以就進行solr和Tomcat的整合。
1.安裝tomcat(複製tomcat到任意目錄下),修改server.xml配置文件裏面的端口號(否則後面eclipse使用Tomcat會衝突)
2.部署solr.war到Tomcat中
1).從solr解壓包下的solr-4.10.3\example\webapps目錄中拷貝solr.war,粘貼到自己複製後的Tomcat的webapps裏
2).在Tomcat的webapps裏,把war解壓到當前路徑,並刪除solr.war
3.添加solr服務的擴展jar包(日誌包)
把solr解壓包下solr-4.10.3\example\lib\ext目錄下的所有jar包拷貝到Tomcat部署的solr的WEB-INF/lib文件夾
4.配置solr應用的web.xml
需要修改web.xml,讓Tomcat使用JNDI的方式告訴solr服務器SolrHome在哪
修改內容:
第42行的Solr/home名稱必須是固定的,修改第43行(改爲solrhome的磁盤位置),如下圖
5.啓動Tomcat進行訪問(tomcat/bin/startup.bat)
http://localhost:8081/solr/