IK分词器安装
ES 的默认分词设置的是 standard
,会单字拆分进行拆分。
POST _analyze
{
"analyzer": "standard",
"text": "我是中国人"
}
概述
IKAnalyzer
是一个开源的,基于 Java
语言开发的轻量级的中文分词工具包。
下载 Ik 分词器
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
IKAnalyzer 两种分词模式
ik_max_word
:会将文本做最细粒度
的拆分。ik_smart
:会做最粗粒度
的拆分。
配置 IK
将下载好的 zip 上传到 linux 当中,上传到之前新建的 plugins 目录当中,上传之前首先新建一个 ik 的文件夹然后上传到新建的 ik 文件夹当中:
mkdir ik
上传完毕之后利用 unzip
进行解压:
unzip elasticsearch-analysis-ik-7.16.2.zip
之后在重启 es 与 kibana 然后在 devTools 当中进行使用 ik 的 ik_max_word 进行查询效果如下:
POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}
扩展词与停用词
扩展词
就是不想让哪些词被分开,让他们分成一个词。
停用词
有些词在文本中出现的频率非常高。但对本文的语义产生不了多大的影响。例如英文的 a、an、the、of 等。或中文的 ”的、了、呢等”。这样的词称为停用词。
设置扩展词或停用词
进入到 config
目录创建扩展词与停用词文件。
扩展词:
vim my_ext_dict.dic
假如如上的词它不是一个词,而我们又需要它是一个具体的词那么就可以像如上一样,添加到扩展词当中即可。
停用词:
vim my_stop_dict.dic
将自定义的扩展词典文件添加到 IKAnalyzer.cfg.xml
配置中。
重启 es 与 kibana 然后进行查询结果如下:
POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是aaa啊啊啊唐"
}
POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人啊了呢"
}
设置 IK 分词器作为默认分词器
PUT /my_index
{
"settings": {
"index" :{
"analysis.analyzer.default.type": "ik_max_word"
}
}
}
标签:
ElasticSearch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2021-01-10 HTML5