搜索引擎Solr的集成实施方案搜索引擎Solr集成开发实施方案(V1.1_20130704)拟制:鲁超日期:2013-04-16审核:日期:批准:日期:搜索引擎Solr的集成实施方案修订记录日期修订版本描述作者2013-04-16V1.0拟定草稿鲁超2013-07-04V1.1Zookeeper集群鲁超搜索引擎Solr的集成实施方案目录1环境介绍...................................................................................................................................52JDK安装..................................................................................................................................53TOMCAT安装............................................................................................................................64SOLR的安装配置......................................................................................................................85IKANALYZER集成.....................................................................................................................96SOLR的分布式(ZOOKEEPER).............................................................................................116.1内嵌入zookeeper集群...................................................................................................116.2单独ZooKeeper(外部)实例+多Solr(tomcat)实例..........................................................136.3多ZooKeeper(外部)实例+多Solr(tomcat)实例..............................................................157LINUX防火墙常识..................................................................................................................17搜索引擎Solr的集成实施方案前言本文档主要介绍了Luncene与solr集成实施方案,并未开发、实施、维护人员提供参考依据。本文主要从solr的环境、solr安装、分布式架构、中文分词组件集成及Luncene的索引及检索开发等方面进行介绍。搜索引擎Solr的集成实施方案1环境介绍服务器属性服务器A服务器B服务器C硬件环境——————假设IP10.243.173.24410.243.173.21010.243.173.220操作系统RedHat5.5RedHat5.5RedHat5.5运行环境jdk-6u41-linux-x64.binjdk-6u41-linux-x64.binjdk-6u41-linux-x64.bin容器apache-tomcat-7.0.37.tar.gzapache-tomcat-7.0.37.tar.gzapache-tomcat-7.0.37.tar.gzSolrsolr-4.2.0solr-4.2.0solr-4.2.0分词组件IKAnalyzer4.2IKAnalyzer4.2IKAnalyzer4.2Zookeeper————2JDK安装1.上传JDK安装包/usr2.执行安装命令./jdk-6u41-linux-x64.bin安装完毕后,删除原有安装包rm-rfjdk-6u41-linux-x64.bin搜索引擎Solr的集成实施方案3.配置环境变量cd/etcviprofile然后按i编辑,添加内容:exportJAVA_HOME=/usr/jdk1.6.0_41exportJRE_HOME=$JAVA_HOME/jreexportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib4.保存退出先按Esc键,然后输入:x或者:wq5.断开回话,重新连接。java–version在终端用cd命令进入Test.javaTest.java目录,然后输入javacTest.javajavaTest若输出“Hello,WelcometoLinuxWorld!”则表明配置成功!如不能通过编译,可通过重新启动系统试试.3TOMCAT安装1.上传tomcat安装包/usr2.执行安装命令tar-zxvfapache-tomcat-7.0.37.tar.gz搜索引擎Solr的集成实施方案安装完毕后,删除原有安装包rm-rfapache-tomcat-7.0.37.tar.gz3.配置环境变量cd/etcviprofile然后按i编辑,添加内容:exportCATALINA_HOME=/home/solr/apache-tomcat-7.0.37exportCATALINA_BASE=/home/solr/apache-tomcat-7.0.37exportPATH=$CATALINA_HOME/bin:$PATHexportCLASSPATH=$CATALINA_HOME/lib:$CLASSPATH[exportCATALINA_HOMECATALINA_BASEPATHCLASSPATH]4.保存退出先按Esc键,然后输入:x或者:wq5.断开回话,重新连接.6.修改tomcat编码URIEncoding=UTF-87.重启命令cd/usr/java/tomcat/bin启动服务:shstartup.sh停止服务:shshutdown.sh查看进程:ps-ef|greptomcat查看端口:netstat-an|grep8080搜索引擎Solr的集成实施方案4SOLR的安装配置下载url:将solr.war上传到apache-tomcat-7.0.37/webapps目录下。2.启动tomcat,启动完毕后停止。3.在apache-tomcat-7.0.37/webapps/solr/目录下新建solr_homemkdirsolr_home4.solr-4.2.0\example\solr下的文件压缩为solr.zip文件,并上传到到apache-tomcat-7.0.37/webapps/solr/solr_home目录下。5.解压solr.zipunzip-o-d/home/solr/apache-tomcat-7.0.37/webapps/solr/solr_homesolr.zip6.配置solr中WEB-INF目录下的web.xml.env-entryenv-entry-namesolr/home/env-entry-nameenv-entry-valueD:\solr_project_4.2\apache-tomcat-7.0.23\webapps\solr\solr_home/env-entry-valueenv-entry-typejava.lang.String/env-entry-type/env-entry7.配置apache-tomcat-7.0.37/webapps/solr/solr_home目录下solr.xml将hostPort端口改为tomcat的访问端口。coresadminPath=/admin/coresdefaultCoreName=collection1host=${host:}hostPort=8080hostContext=${hostContext:}zkClientTimeout=${zkClientTimeout:15000}corename=collection1instanceDir=collection1//cores搜索引擎Solr的集成实施方案5IKANALYZER集成开源的solr库集成开源的索引、检索工具Lucene及开源的分词组件。在开源的中文分词组件现在包含很多,也具有出色的分词能力,如paoding在PIII1G内存个人机器上,1秒可准确分词100万汉字;mmseg4jcomplex1200kb/s左右,simple1900kb/s左右;IKAnalyzer具有50万字/秒的高速处理能力。下面以IKAnalyzer4.2为例进行讲解:(1)下载:(2)将IKAnalyzer4.2.jar分词apache-tomcat-7.0.37/webapps/solr/WEB-INF/lib下。(3)在apache-tomcat-7.0.37/webapps/solr/WEB-INF/下新建classes目录。mkdirclasses(4)将IKAnalyzer.cfg.xml和stopword.dic放于apache-tomcat-7.0.23\webapps\solr\WEB-INF\classes目录下。(5)配置apache-tomcat-7.0.23\webapps\solr\solr_home\collection1\conf目录下的schema.xml。fieldname=text_IKAnalyzertype=text_generalindexed=truestored=falsemultiValued=true/搜索引擎Solr的集成实施方案!--IKAnalyzer如下是对text类型的处理--fieldTypename=text_IKAnalyzerclass=solr.TextFieldanalyzerclass=org.wltea.analyzer.lucene.IKAnalyzer/!--索引顺序:1空格2同义词3过滤词4拆字5小写过滤6关键字7词干抽取算法--analyzertype=index!--tokenizerclass=org.wltea.analyzer.solr.IKTokenizerFactoryisMaxWordLength=false/--tokenizerclass=solr.WhitespaceTokenizerFactory/filterclass=solr.SynonymFilterFactorysynonyms=synonyms.txtignoreCase=trueexpand=true/filterclass=solr.StopFilterFactoryignoreCase=truewords=stopwords.txtenablePo