Solr3.6.2和Solr4.9.0常用配置
来源:互联网 发布:日本找工作知乎 编辑:程序博客网 时间:2024/06/05 03:43
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文件,内容如下:
<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目录下的内容,到example/multicore/core0/conf目录下,
启动tomcat,访问:http://localhost:8080/solr/,出现solr界面,则solr的core0基本配置已经完成。
tomcat优化配置:
<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节点中增加属性: sharedLib="lib" 即可。
如果需要配置扩展词库和停止词库,则需要到tomcat的webapps/solr/WEB_INF目录下新建classes目录,把IKAnalyzer.cfg.xml和相应的字典文件放置在这个目录中,IKAnalyzer.cfg.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer Configure</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">dic1.dic;dic2.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stopword.dic;</entry> </properties>
字典文件的配置方式为:无BOM的UTF-8编码方式。
注意:有人把IKAnalyzer.cfg.xml和相关配置文件,放到multicore/lib目录下,这是不生效的。
然后,在schema.xml中,配置类型:text_general 使用 IK中文分词,配置节点如下:
<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都会使用IK分词。
关于这种字段类型的原始配置如下:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><!-- in this example, we will only use synonyms at query time<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>--><filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.LowerCaseFilterFactory"/> </analyzer></fieldType>
停止词库
指的是指文本中出现频率很高,但实际意义又不大的词,主要指副词、虚词、语气词等。如“是”、“而是”等。它主要用在信息检索中。在为文本或网页建立索引的时候,会去掉这些词。
扩展词库
与自己的业务相关的词库,会作为独立词进行处理。例如:http://blog.csdn.net/shihuacai/article/details/8494360
主从
solrconfig.xml,master机器配置:
<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>
<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>
关于compression,有人这样说:external 很容易有索引大小不对, 压缩文件损坏这2个问题, 导致复制无法进行, 且一直复制失败, 测试下来internal没任何问题;不过我每遇到过。
更多内容参考网址:http://wiki.apache.org/solr/SolrReplication 。
Solr 4.9.0
基本配置
Solr 4.9,需要JDK7支持。
下载Sorl 4.9,解压后,位置:/work/solr-4.9.0。
solr\dist\solr-4.9.0.war至tomcat\webapps,并更名为solr.war
重启tomcat,solr.war自动部署,修改webapps\solr\WEB-INF\web.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>
复制solr-4.9.0\example\lib\ext\*.jar至tomcat\lib
复制solr-4.9.0\example\resources\log4j.properties至tomcat\lib
重启tomcat,访问:http://localhost:8080/solr/,出现solr界面,则solr的基本配置已经完成。
其他部分和3.6.2类似。
分词器
下载IK Analyzer分词器,lucene4.X和solr4.X的IK Analyzer 要用下面这个版本IK Analyzer 2012FF_hfl。
jar包放在tomcat/webapps/solr/WEB-INF/lib目录下,xml和dic放在tomcat/webapps/solr/WEB-INF/classes目录下。
其他,也就是IKAnalyzer.cfg.xml、shema.xml的内容配置,和3.6.2类似,不赘述。
另外,注意,在solr4.9中使用的IK分词器jar包,在schema.xml中应该这样配置:
<fieldType name="text_general" 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 Analyzer 2012FF_hfl中以及没有org.wltea.analyzer.solr包了。
这个我还不确认是在IK Analyzer 2012FF_hfl中就没有了,还是我下载的jar包不全...
主从
和3.6.2类似,不赘述。
- Solr3.6.2和Solr4.9.0常用配置
- solr3和solr4区别
- solr3.6.2 使用配置
- solr3.6.2 使用配置
- solr3.6到solr4.1升级,schema版本号区别等
- solr4配置
- 配置solr4.10.0和中文分词IKAnalyzer
- solr4.8 高亮查询和配置
- solr4.8 高亮查询和配置
- Solr4.2.0和Tomcat7.0配置
- tomcat6.0.36配置solr3.6.0
- ubuntu下tomcat7和solr4.6集成配置
- Ubuntu13.10下配置Nutch1.7和Solr4.6集成
- solr4.8安装步骤和配置IK分词器
- solr4.10 配置相似查询 MoreLikeThisComponent(MLT)和 MoreLikeThisHandler
- windows下 Tomcat 7 + solr3.6.2 + Magento企业版1.14 配置说明
- solr3.6+IKAnalyzer2012 安装配置说明
- SOLR3.x配置mmseg4j分词器
- IOS_改变UITextField placeHolder颜色、字体
- OGNL 中的集合操作
- Rabbitmq集群高可用测试
- android吐丝的五种不同的显示
- struts2 控制标签
- Solr3.6.2和Solr4.9.0常用配置
- [leetcode] Search in Rotated Sorted Array
- Fedora配置VPN
- LeetCode Unique Paths
- UltraEdit工具的使用小技巧 如:UltraEdit 不能复制粘贴
- zoj 3735 Josephina and RPG(2013 长沙现场赛)
- MD5算法步骤详解
- struts2 数据标签
- hdu2899Strange fuction