基於centos6搭建solr服務器(漫天之步步爲營)

作爲java開發主流的幾款用以做分詞,搜索的插件,solr 相比lucene,具有更好的封裝性,功能更強大,使用時候更加高效便捷,本篇將演示如何在linux環境下搭建一個簡單的solr程序,安裝環境爲centos6.5

1.需要的安裝包:apache-tomcat-7.0.47.tar.gz、solr-4.10.3.tgz.tgz(jdk自行安裝)

2.創建solr文件夾 
cd /usr/local 
mkdir solr

3.上傳tomcat,solr壓縮文件,上傳完畢,分別解壓文件; 
tar -zxf apache-tomcat-7.0.47.tar.gz 
tar -zxf solr-4.10.3.tgz.tgz

4.爲方便管理,創建一個tomcat的文件夾,由於solr的運行是一個類似web的項目,需要依賴tomcat的啓動才能訪問, 
cp apache-tomcat-7.0.47 /usr/local/solr/tomcat -r

5.把solr的壓縮包上傳到服務器後並解壓,然後把/root/solr-4.10.3/dist/solr-4.10.3.war包部署到tomcat下。並改名爲solr.war 
cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war

6.解壓war包。啓動tomcat自動解壓。然後關閉tomcat,刪除war包

7.把/root/solr-4.10.3/example/lib/ext 目錄下所有的jar包複製到solr工程中,啓動需要依賴這些包 
cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

8.創建solrhome文件夾,該文件夾用來存放solr服務器所有配置文件; 
將/root/solr-4.10.3/example中的solr文件夾拷貝至solrhome 
cp -r solr /usr/local/solr/solrhome 
注意,這個solrhome文件夾非常重要,裏面保存着今後創建各類分詞文件的原始配置文件

9.在solr工程中的web.xml文件中指定solrhome的位置 
 
在tomcat中進入到此處,修改web.xml文件,主要是將文件的存放位置紙箱solrhome的位置,solrhome的位置可以自己定義; 
vi web.xml 


10.啓動tomcat 
cd /bin 
./startup.sh 
啓動成功,瀏覽器輸入:http://192.168.111.130:8080/solr,IP換成你自己的就行了,看到如下界面,說明啓動成功; 


簡單說明一下管控臺上的幾個主要組件,CoreAdmin,這個相當於是一個管理你創建的分詞文檔的文檔庫,默認安裝完畢後,會有一個collection1,你可以進入到這個文件夾下配置你的業務字段;

11、配置中文分詞器; 
1).把IK-Analyzer分析器的文件夾上傳到服務器 
2).把分析器的jar包添加到solr工程中 
cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/ 
分詞器文件在analise中 
3).把IKAnalyzer需要的擴展詞典及停用詞詞典、配置文件複製到solr工程的WEB-INF/classes文件夾中 
cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes 
4).在solrhome/collection1/conf/schema.xml中配置filedType 
進入該目錄: 
cd /usr/local/solr/solrhome/collection1/conf 
vi schema.xml 
找到添加業務字段的位置,添加你需要的字段,這個裏面配置好了以後,在你的程序代碼中就可以對應上了,如圖: 


具體的字段意義可自行百度,都有詳細的講述;

5)重啓tomcat,配置的字段就會生效了; 


在左邊的導航欄裏,選擇collection1,再選擇下面的Analysis,右邊的FieldType列表裏就會顯示出你在schema.xml中配置的字段信息;

solr的搭建到此基本就結束了,至於裏面的細節和優化的配置,大家可以在此基礎上繼續深入探討,比如在管控臺上有很多運維的操作,都可以執行百度裏面的含義,幫助深化理解solr的功能;

下面說一個在運用中大家可能會遇到的問題 
實際開發中,我們並不想使用安裝後默認的Core Admin,想自己新建一個文檔的倉庫進行分詞和文檔的管理操作,此時需要新建一個Core Admin,並且實際業務中也是存在這樣的需求的,例如項目中存在多種類型的文檔搜索,都放在collection1下,那麼schema.xml將會越來越龐大,以至於維護起來很不方便,好的做法是,在solrhome下添加一個新的core,這個core可以自定義,只要放在該文件夾下即可,命名隨意,例如,在solrhome下自己放入了一個core0,

在conf文件夾下找到schma.xml文件,在這個配置文佳下進行業務字段的添加配置,然後在管控臺上創建一個新的Core Admin的時候就可以使用這個core0: 


這時候可以看到剛剛創建的core0就出現在了Core Selector中了,這個地方容易出的問題就是如果第一次嘗試創建一個新的Core Admin的時候,不慎選用了collection1,或者界面自帶的其他core,會一直報錯顯示創建失敗,此處切記!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章