IK分词提供的两个分词器,并不支持一些新的词汇,有时候也不能满足实际业务需要,这时候,我们可以定义自定义词库来完成目标。

文章目录

  • 一、静态web搭建
    • 1. 安装nginx
    • 2. 创建es目录
    • 3. 创建分词文件
    • 4. 存放静态
    • 5. 验证
  • 二、配置远程分词
    • 2.1. 切换用户
    • 2.2. 配置分词
    • 2.3. 远程分词
    • 2.4. 重启es
    • 2.5. 验证分词
  • 三、热更新词库
    • 3.1. 自定义分词
    • 3.2. 分词结果
    • 3.3. 添加分词库
    • 3.4. 日志监控
    • 3.5. 分词验证
一、静态web搭建
1. 安装nginx

nginx 1.9.9 Linux 环境安装

2. 创建es目录

在nginx新建一个文件夹es,将ik所需要使用的资源放在里面,用于存放新建的词库

cd /usr/local/nginx
mkdir es

3. 创建分词文件

在es目录下,新建一个文件new_word_fenci.dic,将需要分词的内容放在该文件中

cd es
vim new_word_fenci.dic

添加内容:

凯悦
4. 存放静态

将es移动到html目录下,因为nginx默认访问的是html目录

mv es ./html/
5. 验证
http://192.168.92.128/es/new_word_fenci.dic

如图:

二、配置远程分词
2.1. 切换用户
su - es
2.2. 配置分词

编辑IKAnalyzer

cd /app/elasticsearch-7.15.2/config/analysis-ik
vim IKAnalyzer.cfg.xml
2.3. 远程分词

原配置

调整后配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict"></entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典 --><entry key="remote_ext_dict">http://192.168.92.128:80/es/new_word_fenci.dic</entry><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
2.4. 重启es

说明:kibana需要一直处于启动

2.5. 验证分词

# 查阅凯悦分词
GET /shop/_analyze
{"analyzer": "ik_smart","text": "凯悦"
}GET /shop/_analyze
{"analyzer": "ik_max_word","text": "凯悦"
}

三、热更新词库
3.1. 自定义分词
# 查阅凯悦分词
GET /shop/_analyze
{"analyzer": "ik_smart","text": "我是专家"
}GET /shop/_analyze
{"analyzer": "ik_max_word","text": "我是专家"
}
3.2. 分词结果
{"tokens" : [{"token" : "我","start_offset" : 0,"end_offset" : 1,"type" : "CN_CHAR","position" : 0},{"token" : "是","start_offset" : 1,"end_offset" : 2,"type" : "CN_CHAR","position" : 1},{"token" : "专家","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 2}]
}
3.3. 添加分词库

把我是专家添加分词库

cd /usr/local/nginx/html/es/
vim new_word_fenci.dic

添加我是专家到分词库:

我是专家

一个分词为一行

3.4. 日志监控


[2021-11-21T16:26:35,785][INFO ][o.w.a.d.Dictionary       ] [es] start to reload ik dict.
[2021-11-21T16:26:35,787][INFO ][o.w.a.d.Dictionary       ] [es] try load config from /app/elasticsearch-7.15.2/config/analysis-ik/IKAnalyzer.cfg.xml
[2021-11-21T16:26:35,938][INFO ][o.w.a.d.Dictionary       ] [es] [Dict Loading] http://192.168.92.128:80/es/new_word_fenci.dic
[2021-11-21T16:26:35,946][INFO ][o.w.a.d.Dictionary       ] [es] 凯悦
[2021-11-21T16:26:35,947][INFO ][o.w.a.d.Dictionary       ] [es] 我是专家
[2021-11-21T16:26:35,947][INFO ][o.w.a.d.Dictionary       ] [es] reload ik dict finished.
3.5. 分词验证

# 查阅凯悦分词
GET /shop/_analyze
{"analyzer": "ik_smart","text": "我是专家"
}GET /shop/_analyze
{"analyzer": "ik_max_word","text": "我是专家"
}

Elasticsearch7.15.2 ik中文分词器 定制化分词器之扩展词库(远程)相关推荐

  1. ElasticSearch03_Mapping字段映射、常用类型、数据迁移、ik分词器、自定义分词器

    文章目录 ①. Mapping字段映射概述 ②. 常用类型如下 - text.keyword ③. 映射中对时间类型详解 ④. ES的keyword的属性ignore_above ⑤. 映射的查看.创 ...

  2. 商城项目18_esMapping字段映射、常用类型、数据迁移、ik分词器、自定义分词器

    文章目录 ①. Mapping字段映射概述 ②. 常用类型如下 - text.keyword ③. 映射中对时间类型详解 ④. ES的keyword的属性ignore_above ⑤. 映射的查看.创 ...

  3. Elasticsearch生产实战(ik分词器、拼音分词、自动补全、自动纠错)

    目录 一.IK分词器 1.IK分词器介绍 2.安装 3.使用 4.自定义词库 二.拼音分词器 1.拼音分词器介绍 2.安装 三.自动补全 1.效果演示 2.实战 四.自动纠错 1.场景描述 2.DSL ...

  4. Lucene分词器,使用中文分词器,扩展词库,停用词

    2019独角兽企业重金招聘Python工程师标准>>> Lucene分词器,使用中文分词器,扩展词库,停用词 博客分类: 搜索引擎,爬虫 停止词:lucene的停止词是无功能意义的词 ...

  5. Ik分词器(自定义分词-mysql)

    引言:ik分词器的分词范围不够广泛.某些特定行业的专业用语分词能力就不够了,此时就需要自定义分词,与停顿词. 1.下载ik分词器源码 git地址:https://github.com/medcl/el ...

  6. 基于ik分词器和布隆过滤器实现敏感词过滤

    文章目录 准备阶段 为何选用IK Analyzer 什么是布隆过滤器 开发过程 整合Ik 总结 <基于ik分词器和布隆过滤器实现敏感词过滤>首发 牧马人博客转发请加此提示 最近公司业务有个 ...

  7. Elasticsearch7 分词器(内置分词器和自定义分词器)

    文章目录 Elasticsearch7 分词器(内置分词器和自定义分词器) analysis 概览 char_filter html_strip mapping pattern_replace fil ...

  8. solr配置同义词,停止词,和扩展词库(IK分词器为例)

    定义 同义词:搜索结果里出现的同义词.如我们输入"还行",得到的结果包括同义词"还可以". 停止词:在搜索时不用出现在结果里的词.比如is .a .are .& ...

  9. python统计词频瓦尔登湖_自然语言处理之中文分词器-jieba分词器详解及python实战...

    (转https://blog.csdn.net/gzmfxy/article/details/78994396) 中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块,在进行中文自 ...

最新文章

  1. oracle如何删除可回收归档,Oracle正确删除归档并回收空间的方法
  2. python用于什么-Python用于哪些领域
  3. Mozilla的Python3使用情况
  4. springboot教程(三)
  5. Spark RDD的缓存
  6. Testng 测试框架源码阅读(一)
  7. 使用Sqlmap对dvwa进行sql注入测试(初级阶段)
  8. 解决tab切换的时候,swiper不生效
  9. 一次应对PowerShell+WMI挖矿***的记录
  10. React Elements vs React Components
  11. MongoDB查询及索引优化
  12. [组图]手机病毒组合拳一箭双雕 手机PC均中招(转)
  13. 开源了一个私人云盘——蓝眼云盘
  14. 微信小程序独立服务器的好处,微信小程序的优势和缺点
  15. Linux系统操作命令
  16. 你活得光鲜亮丽,父母却在低声下气
  17. unity5 rendersetting选项
  18. 一起来找:程序员必去的社区与网站
  19. Xshell下载与安装
  20. Debian9.5 系统配置NFS详细说明

热门文章

  1. 清华学生计划表,大写的服!
  2. 差点令金融世界崩塌的数学公式
  3. mysql root密码过期了_Mac下重置mysql的root密码
  4. 深度学习-计算机视觉--图像增广
  5. jQuery ajax实现
  6. C语言之strstr函数
  7. sdut 取数字问题(深搜,动态规划)
  8. 图结构练习——判断给定图是否存在合法拓扑序列
  9. 工业视觉智能实战经验之IVI算法框架2.0
  10. Elasticsearch生态技术峰会 | 阿里云Elasticsearch云原生内核