设为首页 收藏本站
查看: 2344|回复: 0

[经验分享] Solr的学习使用之(三)IKAnalyzer中文分词器的配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-1-17 09:08:10 | 显示全部楼层 |阅读模式
本帖最后由 frcd 于 2014-1-17 09:09 编辑

1、为什么要配置?

1、我们知道要使用Solr进行搜索,肯定要对词语进行分词,但是由于Solr的analysis包并没有带支持中文的包或者对中文的分词效果不好,需要自己添加中文分词器;目前呼声较高的是IKAnalyzer中文分词器,其他的还没有对比过,等以后有空了再说。

2、如何配置

1)、下载IK Analyzer 2012FF_hf1.zip压缩包。下载网址:http://code.google.com/p/ik-analyzer/downloads/list

2)、解压压缩包,把IKAnalyzer2012FF_u1.jar拷贝到webapps\solr\WEB-INF\lib

3)、把解压包里面的IKAnalyzer.cfg.xml和stopword.dic拷贝到webapps\solr\WEB-INF\classes目录(第一篇文章已经创建了该文件夹)

4)、配置F:\JAVA\Solr\src\solr\collection1\conf(自己机子的具体目录)目录中的schema.xml配置文件,

   a)、<types></types>节点里配置以下内容(最好是在最后一行,比较有规则一些)

<!-- IKAnalyzer 中文分词 -->
     <fieldType name="text_ik" class="solr.TextField">
            <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer">
            </analyzer>  
     </fieldType>
查找资料的时候,有看到这样的配置

<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>
这样的配置据说是因为查询(query)采用IK自己的最大分词法,索引(index)则采用它的最细粒度分词法,有啥区别,还有就是为啥要分为这两种类别,还不懂,可见,还有很多知识点需要研究,等以后有时间再说了,目前就先不区分了。

(分析器一般出现在2个环境:建索引(index)和查询(query),大多数情况下这2个场景的分析过程都是一样,也就是说用的是相同的分析器。但是,你仍然可以为2个不同的阶段指字不同的分析器,这样是不是效果会更好,有待考究!)

  b)、在<fields></fields>节点里配置

<field name="testik" type="text_ik" indexed="true" stored="false"/>
注:type="text_ik"中的text_ik就是对应a)中配置的名为text_ik的fieldType ,这种规则如果还不懂的话,那就得去参考Solr的学习使用之(二)schema.xml等的配置文件解析这一篇文章了,这就好比,先定义了一种数据类型A,然后添加字段的时候该字段的类型是A

3、效果

启动tomcat,浏览器敲入http://localhost:8080/solr,然后按照以下步骤操作,测试语句:

IK Analyzer是一个结合词典分词和文法分词的中文分词开源工具包。它使用了全新的正向迭代最细粒度切分算法。


141943542678.jpg


需要注意的是:第5步时要选择正确,里面的select有两个大类别供选择,一个是Fields,一个是Types,其实就是对于之前配置的<fields></fields>和<types></types>,所以这里要看效果,可以有两种选择,一个是选择Fields下的testik,一个是选择Types下的text_ik,效果一样的,感兴趣的可以试下,至此,大功告成!

  在路上……

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-14351-1-1.html 上篇帖子: Solr的学习使用之(二)schema.xml等配置文件的解析 下篇帖子: Solr的学习使用之(四)建数据库(添加Core)、表(配置sch... 中文
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表