赞
踩
前言
一个 tokenizer(分词器)接收一个字符流,将之分割为独立的 tokens(词元,通常是独立的单词),然后输出 tokens 流。
例如,whitespace tokenizer 遇到空白字符时分割文本。它会将文本 “Quick brown fox!” 分割为 [Quick, brown, fox!]。
该 tokenizer(分词器)还负责记录各个 term(词条)的顺序或 position 位置(用于 phrase 短语和 word proximity 词近邻查询),以及 term(词条)所代表的原始 word(单词)的 start(起始)和 end(结束)的 character offsets(字符偏移量)(用于高亮显示搜索的内容)。
Elasticsearch 提供了很多内置的分词器,可以用来构建 custom analyzers(自定义分词器)。
安装elasticsearch-analysis-ik分词器需要和elasticsearch的版本匹配。我第一次安装没有匹配版本就导致分词器不能使用、安装后还报错
这里也有个小坑、我的是elasticsearch版本是7.17.2 ,然后这个版本也没说8.几的不能用,第一次装了一个最新的版本;装完后、发现版本不匹配。又重新下载安装了同一个版本的elasticsearch-analysis-ik
版本对应位置:https://github.com/medcl/elasticsearch-analysis-ik/blob/master/README.md

分词器 https://github.com/medcl/elasticsearch-analysis-ik

直接将文件解压,放入到plugins目录下。如果你进行了目录挂载,就可以在容器外部操作。我这里进行了挂载,只需要将解压后的文件放入到对应挂载目录就可以。




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

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

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

提示:能够看出不同的分词器,分词有明显的区别,所以以后定义一个索引不能再使用默认的 mapping 了,要手工建立 mapping, 因为要选择分词器
修改/usr/share/elasticsearch/plugins/ik/config/中的 IKAnalyzer.cfg.xml ,如果进行了目录挂载,只需要在外部对应目录修改就行,我这里的外部挂载目录是:/mydata/elasticsearch/plugins/ik/config


首先你要安装了nginx,我这以下操作步骤是基于nginx挂载到外部目录。



需要将这个链接地址放置到IKAnalyzer.cfg.xml中对应的远程词库目录

POST _analyze
{
"analyzer": "ik_max_word",
"text": "汪汪队和猪猪对讨论乔碧罗"
}

我这里最终的目的是项目中要使用到分词器的使用、不安装不行要执行的语句
我的代码执行结束后、报的是这个索引找不到。所以要创建、创建又需要用到分词器。
##创建一个gulimall_product新的索引 PUT gulimall_product { "mappings": { "properties": { "attrs": { "type": "nested", "properties": { "attrId": { "type": "long" }, "attrName": { "type": "keyword" }, "attrValue": { "type": "keyword" } } }, "brandId": { "type": "long" }, "brandImg": { "type": "keyword" }, "brandName": { "type": "keyword" }, "catalogId": { "type": "long" }, "catalogName": { "type": "keyword" }, "hasStock": { "type": "boolean" }, "hotScore": { "type": "long" }, "saleCount": { "type": "long" }, "skuId": { "type": "long" }, "skuImg": { "type": "keyword" }, "skuPrice": { "type": "keyword" }, "skuTitle": { "type": "text", "analyzer": "ik_smart" }, "spuId": { "type": "keyword" } } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。