0
点赞
收藏
分享

微信扫一扫

Kibana操作Elasticsearch-分词器操作


分词

分词是ES的全文检索的核心
一个tokenizer (分词器)接收一个字符流,将之分割为独立的tokens (词元,通常是独立的单词) ,然后输出tokens流。
例如, whitespace tokenizer遇到空白字符时分割文本。它会将文本"Quick brown fox!"分割AAN为[Quick, brown, fox!]
tokenizer (分词器)还负责记录各个term (词条)的顺序或position位置(用于phrase短语和word proximity词近邻查询) ,
以及term (词条)所代表的原始word (单词)的start该tokes(起始)和end (结束)的character offsets (字符偏移量) (用于高亮显示搜索的内容)Elasticsearch提供了很多内置的分词器,可以用来构建custom analyzers (自定义分词器) 。

先来看看官网的的写法
​​​ES官网​​

Kibana操作Elasticsearch-分词器操作_elasticsearch


Kibana操作Elasticsearch-分词器操作_分词器_02


Kibana操作Elasticsearch-分词器操作_搜索引擎_03


Kibana操作Elasticsearch-分词器操作_全文检索_04


所有语言的默认使用的就是这个标准分词器

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

Kibana操作Elasticsearch-分词器操作_分词器_05


这是使用空格来区分的,这样的分词器还不能满足实际的业务场景,ES中的这些分词器都只对英文比较友好,而对于我们中文却不怎么友好!所以作为一个中国的程序员,挺不容器的,外国人写代码就是想写日记,我们中国人写代码就是高考英语作文!,所以这里我们要满足中文的业务需求就需要而外安装中文分词器!这里使用ik分词器

​​ik分词器​​

IK分词器

1.GitHub上找到IK分词器的版本

Kibana操作Elasticsearch-分词器操作_全文检索_06


2.进入源码

Kibana操作Elasticsearch-分词器操作_分词器_07


3.安装ik分词器

这里有两种方式可以安装

1.进入docker容器里面直接wget下载在

2.在外部挂载目录安装

第一种容器内部安装

1.进入ES容器
docker exec -it 069d /bin/bash
2.进入到plugins目录
3.使用wget命令拉取压缩包

我的ES安装是在外部有挂载目录,所以这里就使用第二种方式外部挂载+重启的方式安装ik分词器

第二种外部挂载目录安装

1.将下载的源码zip的压缩包放到挂载的plugins目录

Kibana操作Elasticsearch-分词器操作_分词器_08


2.解压

Kibana操作Elasticsearch-分词器操作_全文检索_09


这里是宿主机挂载的目录,所以容器里面的的plugins目录中也会存在同样的目录

Kibana操作Elasticsearch-分词器操作_全文检索_10


3.重命名文件夹名,并修改权限可读可写可执行

chmod -R 777 ik-7.4.2/

4.进入docker的ES容器

Kibana操作Elasticsearch-分词器操作_全文检索_11


5.查看ik分词器有没有安装上

进入到ES容器的bin目录

Kibana操作Elasticsearch-分词器操作_docker_12


查看插件

elasticsearch-plugin list

这里可能会报错

Kibana操作Elasticsearch-分词器操作_全文检索_13


这里是由于zpi的压缩包没有删除导致这里报错的,删除即可

再次运行上个命令

Kibana操作Elasticsearch-分词器操作_全文检索_14


6.退出容器重启ES容器

docker restart es

4.测试ik分词器
ik_smart-智能分词

POST _analyze
{
"analyzer":"ik_smart",
"text":"测试ik

Kibana操作Elasticsearch-分词器操作_docker_15


ik_max_word-最大分词

POST _analyze
{
"analyzer":"ik_max_word",
"text":"测试ik分词器"
}

Kibana操作Elasticsearch-分词器操作_elasticsearch_16


这里是找到最大的分词组合


举报

相关推荐

0 条评论