# 常见中文分词比较

**URL:** <https://www.isharkfly.com/t/topic/669>\
**Category:** 查询检索\
**Tags:** solr\
**Created:** [November 11, 2020, 3:17pm UTC](https://www.isharkfly.com/t/topic/669 "2020-11-11T15:17:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [November 11, 2020, 3:17pm UTC](https://www.isharkfly.com/t/topic/669/1 "2020-11-11T15:17:58Z")

</div>

对于英文文档，其分词的过程很简单。中文文本的分类难度较大，主要是因为汉语分词问题的困难，即为此需要建立完整的汉语概念体系、汉语语法、语义和语用分析是十分复杂的。

lucene包自带的三种中文分词：

以“我是中国人”这句话作分词举例

1.StandardAnalyzer：我－是－中－国－人  
2.CJKAnalyzer：我是－是中－中国－国人  
3.SmartChineseAnalyzer：我－是－中国－人

第一种是一元分词，第二种是二元分词，第三种应该比较复杂了，没看源码，我猜应该是根据中文语义来分的，有兴趣的可以去详细看看源码。

solr自带的中文分词，solr.CJKTokenizerFactory，solr.ChineseTokenizerFactory和solr.ChineseFilterFactory

solr.CJKTokenizerFactory对应于lucene中的CJKAnalyzer，是二元分词

solr.ChineseTokenizerFactory对应于lucene中的StandardAnalyzer，是一元分词

solr.ChineseFilterFactory被StopFilterFactory取代，看名字应该知道是停用词过滤

下面这两种还没得及看，不知道是不是也和lucene中的SmartChineseAnalyzer对应呢

org.apache.solr.analysis.SmartChineseSentenceTokenizerFactory

org.apache.solr.analysis.SmartChineseWordTokenFilterFactory
