看上一篇请移步到这里:http://my.oschina.net/zimingforever/blog/120732 Solr环境搭建及IK分词的集成及solrJ的调用(一)
这里首先介绍如何做分词,首先solr并没有加入中文分词在里面,所以如果是中文搜索的项目我们要加入分词在里面,常用的中文分词有很多,网上大多数都是和庖丁分词结合的,我这里主要加入了IK analyzer,以下简称IK,使用IK是因为之前没有使用solr的时候我一直在用Ik做搜索,感觉用起来还蛮不错,不过网上关于IK和solr的配置就少了一些。
IK的介绍可以看这里:http://www.oschina.net/p/ikanalyzer
首先把iK的jar放入工程里,这里为了避免找不到jar包,我把IKAnalyzer2012.jar这个包扔到了tomcat下的lib下,同时webapps\solr\WEB-INF\lib这里我也扔了相同的jar包进去
接下来,打开schemal.xml文件(上一节我们就提到过这个文件是用来配置分词的)
在types的标签内加如下的配置:
<fieldType name="text" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>也可以使用IKtokenizerFactory,我没有使用这个方法,因为提示我找不到这个类。估计是jar包的问题
<fieldType name="text" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true"/> </analyzer> </fieldType>
没错 solr加入中文分词就是这么简单,怎么能验证一下呢?打开solr的admin界面即 /solr/admin/analysis.jsp?highlight=on
从微博上随便取了段话,贴在index栏里,query栏里随便输入,同时打开高亮,显示的结果如下:
这说明中文分词也已经配置好了。另外这里field的name对应的是filedtype配置的值
总结一下,本文在搭建好的solr工程下加入了IKanalyze的中文分词,使得solr支持中文了,接下来我们要简单介绍一下如何调用solrJ的接口来增加索引和进行查询。