你的位置:首页 > 软件开发 > Java > SOLR配置IK分词器

SOLR配置IK分词器

发布时间:2015-10-21 22:00:20
又到了一天一博的时间,今天来写一下SOLR中配置IK分词器的事,废话不多说,下面进入正文。  大家都知道,老外的东西对中文的支持多多少少有点纠结,solr也不例外,但是就算是最黑暗的时代也有那么一丝生机,更别说SOLR仅仅是一个工具,所以solr对于中文的支持还是有办法解决的,那 ...

  又到了一天一博的时间,今天来写一下SOLR中配置IK分词器的事,废话不多说,下面进入正文。

  大家都知道,老外的东西对中文的支持多多少少有点纠结,solr也不例外,但是就算是最黑暗的时代也有那么一丝生机,更别说SOLR仅仅是一个工具,所以solr对于中文的支持还是有办法解决的,那就是配置我们自己的分词器,我要配置的分词器就是IK分词器,网上其他的分词器也挺多的,但是我也没用过,练习的时候用的也是IK分词器,所以我就写一下怎么配置IK分词器的吧。

  首先,需要下载一下IK分词器的压缩包,我下载的是SOLR配置IK分词器这个版本,其他版本好不好使大家可以自己去尝试一下,下载完成之后解压缩后的目录如下:

  SOLR配置IK分词器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" />

  第四步,修改需要使用分词器的字段,将其type改为text_ik即可,如下所示:

  SOLR配置IK分词器注意我圈出来的两个地方,等下做一下对比,看看加不加分词器的效果。

  第五步,启动tomcat,进入http://localhost:8080/solr/#/collection1页面,点击collection1下面的Analysis按钮,出现如下所示页面:

SOLR配置IK分词器

然后我们再看一下没有使用分词器的userAddress字段,测试效果如下:

SOLR配置IK分词器

上面的例子大家可以看出来配置分词器跟不配置分词器的差距了吧?

  第六步,配置自定义关键词。

  分词器毕竟是机器,不可能那么灵敏,或者说不可能那么高智商,有时候分的词就不是你想要的,比如我遇到的“决水罪”这个罪名,怎么分都分不出我想要的,那这时候怎么办呢?好办,首先打开你的IKAnalyzer.cfg.

  SOLR配置IK分词器然后在相同目录下添加ext.dic文件,然后把你想要的词放在里面,但是这里要注意一下格式问题,ext.dic文件需要以UTF-8无BOM格式编码,大家可以使用Notepad++来保存即可。创建的文件如下:

 SOLR配置IK分词器

创建完成后放到上面所说的目录下,然后重启tomcat,还是使用上面的两个字段来进行测试,首先是配置了分词器的userName字段,测试结果:

SOLR配置IK分词器

  然后是没有配置分词器的userAddress字段,测试结果如下所示:

SOLR配置IK分词器

  可以很明显的看出配置分词器和没有配置分词器的差别。然后有人会说你是在这里测试分词器,跟solr有什么关系?是这样的,你对要分词的字段配置完分词器之后,在你查询的时候,solr就会自动的把你的字段内容进行分词,比如你要查询userName时决水罪的,那么solr就会先把决水罪三个字进行分词,比如分出来了三个词,当然是打个比方啊,那么solr就是使用分出来的三个词分别对你创建的索引中的username字段进行模糊查询,最后把所有符合条件的结果都给返回回来。

  OK,今天的分词器就说道这里吧,明天开始说solr对多个表创建索引,包括不关联的表以及相互关联的表,好,今天就这样了。

 


原标题:SOLR配置IK分词器

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录