solr 中文分词器 IK Analyzer整合
- 下载
IK Analyzer2012ff_hf1.zip
分词包 - 解压
- 将
IKAnalyzer2012FF_u1.jar
拷贝到/usr/local/tomcat/webapps/solr/WEB-INF/lib/
下 - 在
/usr/local/tomcat/webapps/solr/WEB-INF/
下创建classes
文件夹mkdir classes
- 将前面解压的分词包中的
IKAnalyzer.cfg.xml
和stopword.dic
拷贝到classes
中 - 修改
/usr/local/solr/example/solr/collection1/conf/schema.xml
文件,添加中文分词器vim /usr/local/solr/example/solr/collection1/conf/schema.xml
添加如下配置:
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType> - 重启tomcat,即可
在IK Analyzer上自定义扩展词库
- 修改
/usr/local/tomcat/webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml
文件vim /usr/local/tomcat/webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml
添加如下配置:<!--用户可以自定义扩展词库--> <entry key="ext_dict">ext.dic;</entry>
- 在
/usr/local/tomcat/webapps/solr/WEB-INF/classes/
下新建ext.dic文件,添加自定义分词cd /usr/local/tomcat/webapps/solr/WEB-INF/classes && touch vim ext.dic
添加分词如下:小明今天 伟大的日子 不容易 暴走模式
- 重启tomcat,即可
- 同理,如果想禁用分词索引,在
/usr/local/tomcat/webapps/solr/WEB-INF/classes
下的stopword.dic
文件中定义即可,stopword.dic
文件默认IK Analyzer已经提供,只需要添加禁用分词就可以了。
使用IK Analyzer对field进行分词索引
- 只需要在添加对应的
field
时将type
的值设置为text_ik
即可具体配置如下:
vim /usr/local/solr/example/solr/collection1/conf/schema.xml
<field name="sku" type="text_ik" 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"/>
<field name="cat" type="text_ik" indexed="true" stored="true" multiValued="true"/> - 重启tomcat,即可
建议每次修改文件时把tomcat先关闭,避免不必要出错。
作者:逐暗者 (转载请注明出处)
网友评论