全文檢索引擎Solr的配置


描述:

         在Linux環境下實現高速的全文檢索

一、當前環境:

           CentOS (Linux) 6.3 64 bit

二、所需軟件

1、Java的JDK

Java jdk 1.7.0注意:solr5.x版本必須安裝java 1.7及以上版本

2、Solr最新穩定版Solr-5.1.0

3、Tomcat最新穩定版Tomcat-7.0.72【也可以進入到solr的安裝目錄下,執行bin/solr start命令即可啟動solr自帶的服務器jetty

4、IK Analyzer最新穩定版分詞器IKAnalyzer2012

 

三、Tomcat安裝

1、  安裝jdk

yum install java-1.7.0-openjdk

        

2、  下載Tomcat

http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.72/bin/

(如果找不到請到http://mirror.bit.edu.cn/ 官網點擊”apache”進入選擇相應版本下載)

        

3、解壓tomcat並且放到指定目錄下

#tar zxvf apache-tomcat-7.0.72.tar.gz

#mv apache-tomcat-7.0.72/ /usr/local/tomcat

        

4、刪除tomcat下無用的文件,避免安全問題

#cd /usr/local/tomcat/webapps/

#rm -rf *

(如果想測試是否安裝成功,那么就新建一個test

目錄,在下面放一個index.html文件進行測試)

        

5、啟動tomcat

#/usr/local/tomcat/bin/startup.sh

6、關閉tomcat

#/usr/local/tomcat/bin/shutdown.sh

        

四、Solr配置

1、  下載Solr

http://mirror.bit.edu.cn/apache/lucene/solr/

2、  解壓並且配置Solr

#tar zxvf solr-5.1.0.tgz

a. 將solr-5.1.0/server/webapps/solr.war目錄下的solr.war拷貝到tomcat安裝目錄的webapps下(如:/usr/local/tomcat/webapps/),啟動tomcat解壓“solr.war”,tomcat會自動解壓solr.war;

 
         

b. 新建solr索引目錄:/home/solr;

 
         

c. 把官網下載的solr(本文為:solr-5.1.0.tgz)解壓目錄中的"solr-5.1.0/server/solr"目錄下的所有內容復制到/home/solr中。

 
         

  

 

 
        

3、配置/home/solr

 修改tomcat/webapps/solr/WEB-INF/web.xml,,取消注釋,配置“env-entry-value”的值為自定義的solr索引目錄

1 <env-entry>  
2 
3       <env-entry-name>solr/home</env-entry-name>  
4  
5       <env-entry-value>/home/solr</env-entry-value>  
6 
7       <env-entry-type>java.lang.String</env-entry-type>  
8 
9 </env-entry>
View Code

4、配置日志

將solr目錄下server/lib/ext中的jar包copy到tomcat的solr/WEB-INF/lib下。這時候雖然添加jar包,但是沒有對應的日志配置,需要將solr-5.1.0/server/resources下的log4j.properties也放到solr/WEB-INF/classes/下,如果沒有classes文件夾則新建一個。

5.添加一個核core0

在/home/solr文件夾下:

1)創建core0

mkdir core0

2)復制/home/solr/configsets/basic_configs/conf到core0中

cp -rp ./configsets/basic_configs/conf core0/ 【建議:為縮短目錄深度,將basic_configs/conf/*目錄直接復制到/hom/solr/conf中

3)在http://localhost:8080/solr管理頁面添加core0

a.第一步:

 

b.第二步:dataDir可以自己命名

6、 重新關閉再開啟tomcat

7、瀏覽器打開 http://localhost:8080/solr 

驗證是否安裝成功。出現solr管理界面的則表示成功!

 

到這里基本上Solr和Tomcat結合已經完成了,那么下面配置分詞。

 

五、配置IK Analyzer中文分詞器

這里說下分詞器:

         常用的開源分詞器有庖丁、MMseg4j,另外還有IKAnalyzer。之前在項目中一直MMseg4j,它有個缺點就是自定義詞庫的時候比較麻煩。三個中選IK Analyzer是因為它自定義詞庫簡單以及效率非常卓越。

 

1、  下載分詞器

https://code.google.com/p/ik-analyzer/downloads/list

這里選擇的是  IKAnalyzer2012_u1.zip (因為比這個版本新的其他的幾款在測試的時候都出現問題)

        

2、  解壓並且放置到所需位置

#unzip IKAnalyzer2012_u1.zip

解壓之后里面只有三個文件  一個jar 一個stopword.dic還有一個配置文件IKAnalyzer.cfg.xml

 

a、  將jar放置到tomcat下的solr的WEB-INF下的lib中

#cp IKAnalyzer2012FF_u1.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/

                  

b、  在tomcat下的solr的WEB-INF下創建一個目錄classes

然后將stopword.dic及配置文件IKAnalyzer.cfg.xml

 

c、  修改Solr中core下的配置文件schema.xml需要指定所需分詞的字段,例如:

<fieldType name="text_ik" class="solr.TextField">   

    <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   

    <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   

</fieldType>

 

這里需要注意的是:這段代碼需要在<types></types> 之間添加,還有就是name=”text_ik”指定的類型需要是下面的field中所有的(具體可以搜索下”solr schema.xml”配置詳解)

 注:在需要使用中文索引的字段上加上type="text_ik"

參考:http://www.cnblogs.com/likehua/archive/2012/12/26/2834650.html

截圖:

 

全文檢索引擎Solr的配置

 

 

d、  重啟Tomcat並且進行測試

我這里以core0為例子,(在實際生產環境中,每個core都需要修改配置文件進行上述的配置的)

 

全文檢索引擎Solr的配置

         

 

六、自定義詞庫(添加詞、去掉排除詞)

在實際生產環境中,可能會需要添加一些特定的行業詞,IKAnalyzer的配置文件可以很好的解決這個問題。

    

1、  添加行業詞

 

全文檢索引擎Solr的配置

 

 

打開IKAnalyzer.cfg.xml    然后會看到配置文件寫的很清楚,只要安裝stopword.dic的格式自定義一個名字,例如xxx.dic  放在當前的同一級目錄下,並且在配置文件IKAnalyzer.cfg.xml中指定可以訪問到即可了。(這里需要注意的是詞庫文件編碼格式必須為UTF-8無BOM頭)

例如我自定義了一個叫:yanglei.dic的,里面寫了一個詞:楊磊,那么分詞結果出來的就完全不一樣了

                   (下面是未配置自定義添加詞前的分詞結果)

         

全文檢索引擎Solr的配置

 

                            (配置自定義添加詞后的分詞結果)

 

全文檢索引擎Solr的配置

 

2、  添加排除詞

這個就簡單了,直接編輯stopword.dic  接着之前的排除詞添加就可以了

        

 參考:

Solr core配置文件(schema.xml、solrconfig.xml)配置項說明參考網址如下:

http://www.blogjava.net/conans/articles/379545.html

http://www.cnblogs.com/chenying99/archive/2012/04/19/2457195.html

http://www.360doc.com/content/12/1122/10/11098634_249482489.shtml


免責聲明!

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



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