全文搜索服务器 Solr—中文分词篇

前提是已经在Tomcat 7.0.53下面配置好solr 4.7.1,详情参考:全文搜索服务器 Solr—安装篇

注意:Solr4.7.1需要IKanalyzer 2012 FF以上版本。我下载的是IK Analyer 2012-FF hotfix 1

1.下载IKAnalyzer包

下载地址:http://code.google.com/p/ik-analyzer/downloads/list

2.解压IK Analyzer 2012FF_hf1.zip包

用到其中三个文件:

IKAnalyzer2012FF_u1.jar,放到$CATALINA_HOME/webapps/solr/WEB-INF/lib/目录

IKAnalyzer.cfg.xml,stopword.dic,放到$CATALINA_HOME/webapps/solr/WEB-INF/classes/目录下

3.设置IKAnalyzer中文分词

修改$SOLR_HOME/collection1/conf/schema.xml文件,在<types></types>中增加如下内容:

<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自己的最大分词法,索引则采用它的细粒度分词法,各自配置了isMaxWordLength属性。
修改$SOLR_HOME/collection1/conf/schema.xml文件,在<fields></fields>中修改如下内容:

<field name="content" type="text_ik" indexed="false" stored="true" multiValued="true"/>
<field name="text" type="text_ik" indexed="true" stored="false" multiValued="true"/>
......
<copyField source="content" dest="text"/>

也可以自己增加删除相关字段。

4.重建索引,查询即可
具体过程参考上一篇文章。或者是通过http://localhost:8080/solr/#/collection1/analysis,然后在Analyse Fieldname / FieldType:下拉选择框中选择”text_ik“,关闭Verbose Output核选框,在Field Value (Index)Field Value (Query)中输入中文句子,点击”Analyse Values“即可以看到分词结果。

原创文章,转载请注明: 转载自成长的企鹅

本文链接地址: 全文搜索服务器 Solr—中文分词篇

关于我:成长的企鹅简介

暂无评论

希望和大家多多交流,多多分享。和大家一起收获,一起成长。 目前从事知识图谱工作。

发表评论