solr4.9在tomcat7下安裝、配置
solr是一個基于Lucene、采用JAVA語言編寫、運行于servlet容器中(如jetty,tomcat)的全文搜索服務器。本文提供solr在tomcat下安裝、配置。
solr簡介
solr是受歡迎的,速度極快的開源企業搜索平臺。主要功能包括強大的全文搜索,搜索詞高亮顯示,分面搜索,近實時的索引,動態聚類,數據庫集成,豐富的文件(例如,Word,PDF)處理,和空間搜索。Solr是高度可靠的,可擴展性和容錯性,提供了分布式的索引,復制和負載均衡的查詢,自動故障轉移和恢復,集中配置和更多。許多世界上最大的互聯網網站的導航、搜索功能都是采用solr實現的。
solr是一個基于Lucene、采用JAVA語言編寫、運行于servlet容器中(如jetty,tomcat)的全文搜索服務器,提供了Rest 的HTTP接口,并支持多種數據格式如json,php,ruby,csv,phps,javabin及自定義格式。
使用的安裝介質
- jdk1.7.0.45
- tomcat 7.0.55
- solr-4.9.0.tgz
- IKAnalyzer2012FF_u1.jar </ol>
安裝步驟
1: 安裝jdk1.7.0.45
2:安裝tomcat6.0.36
3: 安裝solr
#解壓文件(假設把solr-4.9.0.tgz放在/home/solr目錄中)
cd /home/solr
tar -zxvf solr-4.9.0.tgz
ln -s solr-4.9.0 solr
#更改solr工作目錄
cp -r /home/solr/solr/example/solr /home/solr/solrhome
#更改solr web程序目錄
mkdir solrweb
cp solr/dist/solr-4.9.0.war solrweb
cd solrweb
jar -xvf solr-4.9.0.war
rm -rf solr-4.9.0.war
cd ../
#復制solr擴展的jar到tomcat(假設tomcat安裝在/home/solr/tomcat目錄中)
cp solr/example/lib/ext/*.jar tomcat/lib
#告知solr它的工作目錄在哪里,一般有兩種方式,設置環境變量以及jndi。但我建議采用jndi,便于維護
在$TOMCAT_HOME/conf/Catalina/localhost里新建solr.xml文件,內容如下:
<!--solr server configuration --> <?xml version="1.0" encoding="UTF-8"?> <Context docBase="/home/solr/solrweb" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="/home/solr/solrhome" override="true" /> </Context>其中里面的/home/solr/solrhome就是所謂的solr工作目錄.solr配置,以及索引都將存放到該目錄
啟動tomcat即可。
http://172.168.63.233:8080/solr
默認的端口是8983,修改tomcat/conf/server.xml中的http端口即可。
4: 安裝中文分詞IKanalyzer:
將IKAnalyzer2012FF_u1.jar放到/home/solr/solrweb/WEB-INF/lib目錄中
對應的配置文件放在jar包的根目錄下:IKAnalyzer.cfg.xml,stopword.dic,ext.dic
5:設置IKAnalyzer中文分詞
修改/home/solr/solrhome/collection1/conf/中的schema.xml,在<type></types>中增加如下內容
<!-- china --> <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>其中查詢采用IK自己的最大分詞法,索引則采用它的細粒度分詞法.所以各自配置了isMaxWordLength
6:啟動/停止solr
只要啟動/停止Tomcat即可
驗證