您的位置:首页 > 其它

Solr中文分词配置(IKAnalyzer)

2017-05-07 22:19 375 查看

关于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.测试

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: