IKAnalyzer 中文分析器、自定义业务域

本贴最后更新于 2827 天前,其中的信息可能已经事过景迁

分析器使用 IKAnalyzer

Solr 环境的搭建请参考
Solr 单机版安装

IKAnalyzer 下载地址

链接: https://pan.baidu.com/s/1gf1eKRh 密码: 686k

第一步:把 IKAnalyzer 依赖的 jar 包添加到 solr 工程中。把分析器使用的扩展词典添加到 classpath 中

1.将 IK Analyzer 2012FF_hf1 下的 IKAnalyzer2012FF_u1.jar 拷贝到/usr/local/solr/tomcat7/webapps/solr/WEB-INF/lib 下面

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

2.在 solr 文件下创建 classes

[root@localhost WEB-INF]# pwd
/usr/local/solr/tomcat7/webapps/solr/WEB-INF
[root@localhost WEB-INF]# mkdir classes

3.将 IK Analyzer 2012FF_hf1 下的 ext_stopword.dic,IKAnalyzer.cfg.xml, mydict.dic 三个文件拷贝到/usr/local/solr/tomcat7/webapps/solr/WEB-INF/classes 下面

[root@localhost IK Analyzer 2012FF_hf1]# cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/solr/tomcat7/webapps/solr/WEB-INF/classes

第二步:需要自定义一个 FieldType。Schema.xml 中定义。可以在 FieldType 中指定中文分析器。

[root@localhost IK Analyzer 2012FF_hf1]# cd /usr/local/solr/solrhome/collection1/conf
[root@localhost conf]# vim schema.xml 

schema.xml最后添加

<fieldType name="text_ik" class="solr.TextField">
  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

第三步:自定义域。指定域的类型为自定义的 FieldType。

<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"/>

第四步:重新启动 tomcat

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • 中文分析器
    1 引用
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    946 引用 • 943 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...