在linux 下安装 solr 的IK中文分词
今天安装solr的中文分词,参考了网上众多资料,一波三折,搞的挺郁闷的。现在终于初步搞定了,记录一下,方便新手。
失败的例子:
一:环境
Linux(CentOS5.5),Tomcat6.0,
ik-analyzer3.2.8 (http://code.google.com/p/ik-analyzer/downloads/list)
solr-3.5.0,关于Solr的配置见 http://www.cnblogs.com/thinkCoding/archive/2012/01/10/2318578.html,这里主要谈中文分词的安装。
二:教训
一开始用的是庖丁分词,试了几个小时,终于还是没有弄出来,我找到的网上最新的也是基于1.4的,想搬到3.5里,没成功,最终放弃。
三:正题
貌似很简单,就两步
1) 把下载好的IKAnalyzer3.2.8.jar放到 /tomcat/webapps/solr/WEB-INF/lib目录
2) 修改solr/conf/scheme.xml文件。
在众多fieldType里面加一条
<fieldType name="text" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
不知道solr文件夹指的是哪个?就是你在配置solr主目录时填的路径。
在windows下,你可能是这样的 (E:/apache-solr-3.5.0/example/solr)
<Context docBase="E:/apache-solr-3.5.0/dist/apache-solr-3.5.0.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="E:/apache-solr-3.5.0/example/solr" override="true" /></Context>
在Linux下,你可能是这样的(/usr/local/software/apache-solr-3.5.0/example/solr)
<Context docBase="/usr/local/software/apache-solr-3.5.0/dist/apache-solr-3.5.0.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/usr/local/software/apache-solr-3.5.0/example/solr" override="true" /></Context>
ok。启动你的Tomcat。输入 http://ip:8080/solr/admin/analysis.jsp
如果你看到了这样的结果,恭喜你。但是总有悲摧的人。我就是其中一个,还悲摧了好几次。如果你也悲摧了,那么继续看见意。
四:见意
1、去Log里看,出现了一个权限错误,报什么80端口权限问题,啥啥啥的?好吧,用root去启动你的Tomcat。可能你还有其他的方法,不过我就这样了。
2、各种内部服务器500错误?好吧,很有可能是因为你的Tomcat不够干净。用一个刚下好的Tomcat去配置,或者干掉你所有的应用吧。
五:还没成功?哥们,我也不懂了。请继续Google。
可参考链接:
IK作者首页
http://martin3000.iteye.com/blog/807503
http://hi.baidu.com/lxgbest/blog/item/2e023912e6888747f919b87b.html JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误