java——lucene实现全文检索(二)建立索引时分词器的选择

一篇比较完整的分词器比较文章:Lucene的各中文分词比较

StandardAnalyzer :

Lucene自带的标准分析器

效果为一元分词

为了实现单字检索选择了该分词器

IKAnalyzer:

提供两种分词模式:细粒度分词和智能分词

按词拆分 能够较好的分为词

但是高版本lucene与 IKAnalyzer 冲突会报错

Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.Analyzer.createComponents(Ljava/lang/String;)Lorg/apache/lucene/analysis/Analyzer$TokenStreamComponents;

需要自己集成

集成方式见IKAnalyze中文分词器集成

 因为需求为单字到多字甚至整句都能检索到结果所以放弃了按词拆分的分词器

选择一元分词的StandardAnalyzer 与PhraseQuery  短语查询搭配检索

猜你喜欢

转载自blog.csdn.net/yilia_jia/article/details/86627867