在elasticsearch中,我们知道有一个分词器的东西,那么什么是分词器呢?其实分词器就是按一定的算法,把一句话拆分成我们常见的一些词组,例如:“张三”这个词,我们可以拆分为:张三、张、三者三个词组,如果在一句话里面的话,就会拆分更多的词组,那么我们在搜索的时候就可以尽可能的匹配上。这就是分词器。
elasticsearch是我们目前使用较多的搜索引擎组件,在一般的业务场景里面我们很少会用到elasticsearch,例如一些产品,电商啊等,我们一般用ik分词器或者ansj分词器,再配上动态字典就能满足我们的大部分业务场景。在nlp的领域里面,使用到的分词器就会比较多。下面我们介绍下elasticsearch中常用的一些分词器。
序号 | 分词器 | 说明 |
1 | standard分词器 | 支持中文采用的方法为单字切分。他会将词汇单元转换成小写形式,并去除停用词和标点符号。 |
2 | simple分词器 | 首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。 |
3 | whitespace分词器 | 仅仅是去除空格,对字符没有lowcase化,不支持中文;并且不对生成的词汇单元进行其他的规范化处理。 |
4 | Stop分词器 | 在Simple分词器的基础上增加了去除英文中的常用单词(如the,a等),也可以更加自己的需要设置常用单词;不支持中文 |
5 | ik分词器 | 基于只能分词+最细粒度划分的分词算法,比较符合中文逻辑,可以配置动态字典 |
6 | ansj分词器 | 基于n-Gram+CRF+HMM的中文分词的java实现,可以配置动态字段。 |
以上就是常用的分词器,在英文领域,standard分词器使用频率较高。在中文领域,ik和ansj使用较多。
还没有评论,来说两句吧...