Solr3.6.2和Solr4.9.0常用配置
來源:程序員人生 發(fā)布時(shí)間:2014-09-15 03:53:45 閱讀次數(shù):3263次
tomcat
以tomcat 7為例,位置/work/apache-tomcat-7.0.55
Solr 3.6.2
基本配置
Solr 3.6.2,需要JDK 6/JDK7支持。
下載Solr 3.6.2,解壓后,位置:/work/apache-solr-3.6.2。
在tomcat的conf/Catalina/localhost目錄下,新建solr.xml文件,內(nèi)容如下:
<Context docBase="/work/apache-solr-3.6.2/example/webapps/solr.war" privileged="true" allowLinking="true" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/work/apache-solr-3.6.2/example/multicore" override="true" />
</Context>
拷貝example/solr/conf目錄下的內(nèi)容,到example/multicore/core0/conf目錄下,
啟動(dòng)tomcat,訪問:http://localhost:8080/solr/,出現(xiàn)solr界面,則solr的core0基本配置已經(jīng)完成。
tomcat優(yōu)化配置:
<Connector port="9090" protocol="org.apache.coyote.http11.Http11NioProtocol"
executor="tomcatThreadPool"
connectionTimeout="20000"
maxThreads="5000" minSpareThreads="50"
acceptCount="5000" enableLookups="false"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plan"
compression="on" compressionMinSize="2048" disableUploadTimeout="true"
redirectPort="8443" URIEncoding="UTF-8"
/>
索引文件位置:core0/data,可以使用du -sh 查看索引大小。
分詞器
Lucene3.2-3.6,需要IK Analyzer 2012 U6。
下載IK分詞器,在multicore下新建lib目錄,把IK jar放置到lib目錄下,例如:IKAnalyzer2012_u6.jar,然后修改multicore下得solr.xml文件,在solr節(jié)點(diǎn)中增加屬性: sharedLib="lib" 即可。
如果需要配置擴(kuò)展詞庫和停止詞庫,則需要到tomcat的webapps/solr/WEB_INF目錄下新建classes目錄,把IKAnalyzer.cfg.xml和相應(yīng)的字典文件放置在這個(gè)目錄中,IKAnalyzer.cfg.xml的內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer Configure</comment>
<!--用戶可以在這里配置自己的擴(kuò)展字典 -->
<entry key="ext_dict">dic1.dic;dic2.dic;</entry>
<!--用戶可以在這里配置自己的擴(kuò)展停止詞字典-->
<entry key="ext_stopwords">stopword.dic;</entry>
</properties>
字典文件的配置方式為:無BOM的UTF-8編碼方式。
注意:有人把IKAnalyzer.cfg.xml和相關(guān)配置文件,放到multicore/lib目錄下,這是不生效的。
然后,在schema.xml中,配置類型:text_general 使用 IK中文分詞,配置節(jié)點(diǎn)如下:
<fieldType name="text_general" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
則所有使用text_general類型的field都會(huì)使用IK分詞。
停止詞庫
指的是指文本中出現(xiàn)頻率很高,但實(shí)際意義又不大的詞,主要指副詞、虛詞、語氣詞等。如“是”、“而是”等。它主要用在信息檢索中。在為文本或網(wǎng)頁建立索引的時(shí)候,會(huì)去掉這些詞。
擴(kuò)展詞庫
與自己的業(yè)務(wù)相關(guān)的詞庫,會(huì)作為獨(dú)立詞進(jìn)行處理。例如:http://blog.csdn.net/shihuacai/article/details/8494360
主從
solrconfig.xml,master機(jī)器配置:
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="master">
<str name="replicateAfter">startup</str>
<str name="replicateAfter">optimize</str>
<str name="confFiles">schema.xml</str>
<str name="commitReserveDuration">00:00:30</str>
<str name="numberToKeep">1</str>
</lst>
</requestHandler>
solrconfig.xml,slave機(jī)器配置:
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="slave">
<str name="masterUrl">http://ip:8080/solr/core0/replication</str>
<str name="pollInterval">00:00:10</str>
<str name="compression">external</str>
<str name="httpConnTimeout">5000</str>
<str name="httpReadTimeout">10000</str>
</lst>
</requestHandler>
Solr 4.9.0
基本配置
Solr 4.9,需要JDK7支持。
下載Sorl 4.9,解壓后,位置:/work/solr-4.9.0。
solrdistsolr-4.9.0.war至tomcatwebapps,并更名為solr.war
重啟tomcat,solr.war自動(dòng)部署,修改webappssolrWEB-INFweb.xml中的solrHome,如下:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/work/solr-4.9.0/example/multicore</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
復(fù)制solr-4.9.0examplelibext*.jar至tomcatlib
復(fù)制solr-4.9.0example
esourceslog4j.properties至tomcatlib
重啟tomcat,訪問:http://localhost:8080/solr/,出現(xiàn)solr界面,則solr的基本配置已經(jīng)完成。
其他部分和3.6.2類似。
分詞器
下載IK Analyzer分詞器,lucene4.X和solr4.X的IK Analyzer 要用下面這個(gè)版本IK Analyzer 2012FF_hfl。
jar包放在tomcat/webapps/solr/WEB-INF/lib目錄下,xml和dic放在tomcat/webapps/solr/WEB-INF/classes目錄下。
其他和3.6.2類似
主從
和3.6.2類似,不贅述。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)