前言
分词是es进行搜索的一个核心内容,将输入内容分词之后,进行倒排索引的建立
那么有常见的有哪些呢?
- Standard Analyzer:默认分词器,适用于大多数语言,按空格和标点分词。
- IK Analyzer:适用于中文,提供轻量和智能两种模式,分词精度高。
- NGram Analyzer:通过生成字符 n-gram 来分词,适用于模糊匹配和拼音输入。
- Edge NGram Analyzer:生成字符前缀 n-gram,适用于自动补全和搜索提示。
- Whitespace Analyzer:只按空格分词,适用于简单的英文文本。
- Custom Analyzer:用户自定义分析器,灵活组合分词器和过滤器。
- Language-specific Analyzers:针对特定语言优化的分词器,如英文、法文等。
- Pattern Analyzer:使用正则表达式进行分词,适用于特定模式文本。
- Snowball Analyzer:支持多语言的词干提取,适合信息检索。
- Keyword Analyzer:不进行分词,适合精确匹配场景。
- Pinyin Analyzer:Elasticsearch 可以通过插件支持拼音分词器,常见的插件是
elasticsearch-analysis-pinyin
。该分词器会将中文汉字转换为拼音,并生成对应的拼音索引,以便进行拼音查询。
而在国内实际使用的业务的话,一般就是中文分词器IK Analyzer、拼音分词器Pinyin Analyzer、以及默认的标准分词器Standard Analyzer。
我们也以这其中的使用的比较多的中文分词器IK Analyzer、拼音分词器Pinyin Analyzer作为讲解
中文分词器IK Analyzer
默认的分词器是标准分词器,它会将文本分割为单词,并去除停用词(如“的”、“是”等),在生产实际使用过程中,是不符合国内的业务的
所以我们需要引入中文分词器 ik
- IK Analyzer:一个流行的中文分词插件,支持细粒度和粗粒度两种分词模式,适合处理中文文本。
安装步骤
注意:安装的版本需要跟es的版本保持一致,我这里使用的7.3.2的
下载
-
方式一:如果需要的ik是7.3.2 ,否则可以选择其他的方式
-
公众号I am Walker 获取,回复
ik<font style="color:rgb(26, 27, 28);">分词器
-
方式二:github下载
https://github.com/infinilabs/analysis-ik/tags
找到自己需要的版本
例如我需要下载v7.3.2
下载zip的方式
上传,解压
# 切换到es下的plugins 这里根据自己es的安装目录
cd elasticsearch-7.3.2/plugins
# 上传
rz
# 解压
unzip elasticsearch-analysis-ik-7.3.2.zip -d ik
# 删除压缩包,否则启动会报错