lucene&solr全文检索_4改进

时间:2020-02-01 21:02:54   收藏:0   阅读:89

在之前的程序中我们发现分词不太准确,因此我们可以使用支持中文分词。

  分析器的执行过程:

  技术分享图片

 

   从一个reader字符流开始,创建一个基于reader的tokenizer分词器,经过三个tokenfilter(第一个大写变小写,第二个用回车替换空格,去掉不需要的a,the,and,逗号等)生成tokens。要看分析器的分析效果只需要看tokenstream中的内容就可以了,每个分析器都有一个方法tokenstream,返回一个tokenstream对象。  

 

  lucene自带中文分析器:

standardAnalyzer:单字分词即一个一个分

CJKAnalyzer:二分法,即两个一分,、

SmartChineseAnalyzer:对中文支持好,但扩展性差,对词库的操作不是很好处理。

由此可见上面三个分析器效果并不是很理想,因此要使用第三方分析器:

我们使用IKanalyzer,需要导入jar包:技术分享图片,并将核心文件放入src中技术分享图片,然后就可以使用了。

 

同时你可以在xml文件中扩展

技术分享图片

 

 扩展的内容在ext.dic中(可以复制stopword.dic然后删除内容,重新输入自己想要扩展的内容)例如在ext.dic中加入高富帅白富美等

技术分享图片

 

 打开stopword.dic,即分析之后删除的文字。

技术分享图片

 

 

 注意无论使用什么分析器,都要注意搜索使用的分析器要和索引使用的分析器一致。

 

 

  

原文:https://www.cnblogs.com/tkg1314/p/12249934.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!