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/下創(chuàng)建classes文件夾mkdir classes - 將前面解壓的分詞包中的
IKAnalyzer.cfg.xml和stopword.dic拷貝到classes中 - 修改
/usr/local/solr/example/solr/collection1/conf/schema.xml文件,添加中文分詞器
<fieldType name="text_ik" class="solr.TextField">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即可
<field name="id" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />具體配置如下:
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先關閉,避免不必要出錯。
作者:逐暗者 (轉載請注明出處)