专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

ES实战二十一、全文检索-ElasticSearch-分词-分词&安装ik分词

接第20节

4、分词

一个 tokenizer (分词器)接收一个字符流,将之分割为独立的 tokens (词元,通常是独立的单词),然后输出 tokens流。

例如, whitespace tokenizer 遇到空白字符时分割文本。它会将文本”Quick brown fox!“分割为[Quickbrownfox!l。

tokenizer (分词器)还负责记录各个 term (词条)的顺序或 position位置(用于 phrase短语和 word proximity 词近邻查询) ,以及 term (词条)所代表的原始 word (单词)的 start(起始)和 end (结束)的 character offsets (字符偏移量) (用于高亮显示搜索的内容)。

Elasticsearch 提供了很多内置的分词器,可以用来构建 custom analyzers (自定义分词器) 。

测试 ES 默认的标准分词器: 英文

POST _analyze
{
  "analyzer": "standard",
  "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
}

75_1.png

中文

POST _analyze
{
  "analyzer": "standard",
  "text": "pafcmall电商项目"
}

75_2.png

1)、安装 ik 分词器

注意:不能用默认 elasticsearch-plugin install xxx.zip 进行自动安装

进入 github.com/medcl/elast… 找到对应的 es 版本安装

1、进入 es 容器内部 plugins 目录

docker exec -it 容器id /bin/bash

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip

75_3.png

2、安装 wget

yum install wget

75_4.png

3、下载和 ES 匹配版本的 ik 分词器:

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip

75_5.png

4、unzip 下载文件并解压 1)、使用 unzip 解压 elasticsearch-analysis-ik-7.4.2.zip 发现 unzip 命令还未安装,先安装 unzip

75_6.png2)、解压文件到 plugins 目录下的 ik 目录 75_7.png3)删除压缩包,并给 ik 目录及其文件授权

rm -rf *.zip
chmod -R 777 ik/

75_8.png

5、可以确认是否安装好了分词器

cd../bin
elasticsearch plugin list:即可列出系统的分词器

1)、进入docker中的es容器内

75_9.png2)、列出系统的分词器 75_10.png

6、重启 ES 使 ik 分词器生效

docker restart elasticsearch

2)、测试分词器

  • 使用默认分词
POST _analyze
{
  "analyzer": "standard",
  "text": "pafcmall电商项目"
}

结果:

75_11.png

  • ik智能分词
POST _analyze
{
  "analyzer": "ik_smart",
  "text": "pafcmall电商项目"
}

结果:

75_12.png

POST _analyze
{
  "analyzer": "ik_smart",
  "text": "我是中国人"
}

结果:

75_13.png

  • ik_max_word分词
POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "我是中国人"
}

结果:

75_14.png够看出不同的分词器,分词有明显的区别,所以以后定义一个索引不能再使用默认的 mapping 了,要手工建立 mapping,因为要选择分词器。

参考文档-analysis


参考:

Elasticsearch Reference

elastic

全文搜索引擎 Elasticsearch 入门教程

文章永久链接:https://tech.souyunku.com/37497

未经允许不得转载:搜云库技术团队 » ES实战二十一、全文检索-ElasticSearch-分词-分词&安装ik分词

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们