原创:CentOS6.4配置solr 4.7.2+IK分词器
本文原创,转载请注明出处
相关资源下载:http://pan.baidu.com/s/1pJPpiqv
1.首先说明一下 solr是java语言开发的企业级应用服务器,所以你首先安装好jdk,配置好java的运行环境,然后solr提供一套wapapp,类似于一个后台
对外提供服务,所以你也 应该安装好 网站的一个运行环境tomcat,在此掠过。本环境安装的路径如下:
jdk :/usr/local/jdk tomcat :/usr/local/tomcat
环境说明:centos-6.4+jdk6.0+tomcat-6+solr-4.7.2[如果安装4.9版本的,则提示不兼容,它是用java高版本编译的,低版本下运行不起来]
网上说的拷贝这包,那包的都不靠谱,为甚么要拷贝,也没有说清楚。下载完 solr-4.7.2后解压
2. solr其实分两部分,一部分是网站也就是那个 dist/solr-4.7.2.war[有人说是example/webapps/solr.war 这个经测试不对,也许是版本原因吧]
另一部分就是solr自己的程序包,在example/solr (这里你要注意了,如果单单是吧这个文件夹拷走是不对了,应为它要引用 contrib和dist文件夹里的jar包)
在此引用的:solr-4.7.2\solr-4.7.2\example\solr\collection1\conf\solrconfig.xml 里
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
实战部分:①:将solr-4.7.2\solr-4.7.2\dist\solr-4.7.2.war 拷贝到tomcat的webapps 下,一定要改成solr.war 我的是/usr/local/tomcat/webapps/solr.war,重启tomcat后,tomcat会制动给你
解压成solr.后续看下边。
② 将solr-4.7.2\solr-4.7.2\contrib 和solr-4.7.2\solr-4.7.2\dist 目录拷贝到solr-4.7.2\solr-4.7.2\example\solr 下,然后修改以上的配置文件 ../../../ 变成../../../
PS:你怎么拷贝都成,只要这个配置文件的相对路径能找到那两个文件夹下的jar包,修改完之后,将example\solr 打包成 solr.zip 【rar在linux上无法解包】
然后把这个solr.zip 上传到/usr/local/tomcat/下 unzip solr.zip 一下
③ 修改/usr/local/tomcat/webapps/solr/WEB-INF/web.xml 文件 找到以下节点 将其替换
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/usr/local/tomcat/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
solr/home 就是咱 刚才上传的那个zip包,重启tomcat,输入 http://localhost:8080/solr OK,搞定。
3.配置安装中文分词IKanalyzer
1) 解压IK Analyzer 2012FF_hf1.zip,获得IK Analyzer 2012FF_hf1.将该目录下的
IKAnalyzer.cfg.xml,
IKAnalyzer2012FF_u1.jar,
stopword.dic
放到之前安装TOMCAT_HOME/webapps/solr/WEB-INF/lib/目录下,比如我这里是/usr/local/tomcat/webapps/solr/WEB-INF/lib/
2) 修改 /usr/local/tomcat/solr/collection1/conf/schema.xml 在<type></types>中增加如下内容
<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>
然后随便找一个field 例如 <field name="author" type="text_ik" indexed="true" stored="true"/> 将type值变成text_ik 原来是[text_general]
ok,可以测试了
分出来了吧,弄不出来,可以contact me QQ:769871707
#有可能遇到的问题:
从solr-4.7.2\example\lib\ext复制所有的jar到tomcat/lib下,并复制solr-7.2\example\resources\log4j.properties到tomcat/lib下(有关日志的说明,见http://wiki.apache.org/solr/SolrLogging),须知,solr-4.7.2.jar并没有自带日志打印组件,因此这个步骤不执行,可能引起“org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars.”异常;