Solr中文分词配置(IKAnalyzer)

来源:互联网 发布:标书软件破解版 编辑:程序博客网 时间:2024/04/29 17:35

关于IKAnalyzer

IK Analyzer是一个开源的,基于Java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版本开始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。
下载
http://code.google.com/p/ik-analyzer/

中文分析器的配置

1.使用IK-Analyzer。把分析器的文件夹上传到服务器。

可以使用FileZilla
[root@localhost tmp]# ll
drwxr-xr-x. 3 root root 4096 5月 8 03:20 IK Analyzer 2012FF_hf1

2.需要把分析器的jar包添加到solr工程中

[root@localhost ~]# cd IK\ Analyzer\ 2012FF_hf1/
[root@localhost IK Analyzer 2012FF_hf1]# cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib

3.需要把IK-Analyzer需要的扩展词典及停用词词典及配置文件复制到solr工程的classpath

[root@localhost solr]# cd /usr/local/solr/tomcat/webapps/solr/WEB-INF
如果不存在classes文件夹,则新建
[root@localhost WEB-INF]# mkdir classes
复制文件
[root@localhost ~]# cd IK\ Analyzer\ 2012FF_hf1/
[root@localhost IK Analyzer 2012FF_hf1]# cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
注意:扩展词典、停用词词典必须是utf-8,不能使用windows记事本打开编辑

4.配置fieldType。需要在solrhome/my_core/conf/schema.xml中配置

[root@localhost solr]# cd /usr/local/solr/solrhome/my_core/conf
[root@localhost conf]# vim schema.xml
末尾添加(调到末尾快捷键 shift+g)
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

4.1.业务字段配置,以下是自定义信息,以商品信息为例配置

4.2.在搜索时是否需要在此字段上进行搜素

4.3.后续的业务是否需要用到此字段

<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<!--复制域,把所有字段放到一个字段里,优化搜索-->
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>

4.4.重新启动tomcat

[root@localhost /]# cd /usr/local/solr/tomcat
[root@localhost tomcat]# bin/shutdown.sh
[root@localhost tomcat]# bin/startup.sh

5.测试


0 0