1、在谷歌http://code.google.com/p/ik-analyzer/downloads/list下载IK Analyzer 2012FF_hf1解压后得到如下目录结构:
2、将IKAnalyzer2012FF_u1.jar包copy到 apache-tomcat-7.0.56/webapps/solr/WEB-INF/lib 下。
在apache-tomcat-7.0.56/webapps/solr/WEB-INF/下创建classes目录
将IKAnalyzer.cfg.xml、stopword.dic copy到 apache-tomcat-7.0.56/webapps/solr/WEB-INF/classes
3、修改apache-tomcat-7.0.56/webapps/solr/solr_home/collection1/conf/schema.xml
在第一个节点内添加如下配置:
<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>
将对应需要用ik分词的字段的type改为以上定义的name值 text_ik(大约120行处):
<field name="sku" type="text_en_splitting_tight" indexed="true" stored="true" omitNorms="true"/> <field name="name" type="text_ik" indexed="true" stored="true"/> <field name="manu" type="text_ik" indexed="true" stored="true" omitNorms="true"/>
配置完成,重启tomcat并访问http://localhost:8080/solr。 发现左边可以选择分词器
根据我们配置的中文分词器,选择Manu:
分析一个熊孩子造的句子:小明吃完水果然后喝水
最后需要注意的是,如果你的solr在加入分词器之前已经有数据了,那么需要把数据删除后重新添加才有作用,不然就只能在Analysis中看到分词效果
而Query中没有作用