1.es扩展词库在/usr/local/es/elasticsearch-node01/plugins/elasticsearch-analysis-ik-7.2.1/config中新建文件
new_word.dic
echo "上海警告" > new_word.dic
修改IKAnalyzer.cfg.xml
<entry key="ext_dict">new_word.dic</entry>
重启es集群
sh kill-es.sh
sh r-start.sh
在kibana中执行会发现《上海警告》分格出
GET _analyze?pretty
{"analyzer": "ik_smart","text": "【上海警告】您的工作还有一部分没有做完1"
}热更新词库其实上述词库个人认为没有啥应用的余地,因为一个项目不可能为了一个扩展词而去重启es,所以需要热更新词库,
就实现此目录有两种方法
1.更改ik的一个源码
2.修改IKAnalyzer.cfg.xml中的
<properties><comment>IK Analyzer 扩展配置</comment><!--用户可以在这里配置自己的扩展字典 --><entry key="ext_dict">new_word.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典 --><entry key="remote_ext_dict">http://106.14.65.218:8081/new_word.dic</entry><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>这里我们需要可以返回特点格式的文件这里我用nginx中的一个静态文件代替,读者可通过api接口返回此文件
简单安装nginx
docker pull nginx
创建目录备用
mkdir -p /usr/local/nginx/www /usr/local/nginx/logs /usr/local/nginx/conf
这里需要nginx.conf 手写的话风险大
docker images
docker run --name nginx -p 8081:80 -d 4571e56e27f0
docker ps
docker cp 容器id:/etc/nginx/nginx.conf /usr/local/nginx/conf
运行
docker run --name=nginx -v /usr/local/nginx/www:/usr/share/nginx/html -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/logs:/var/log/nginx -p 8081:80 -d 4571e56e27f0
在www/目录下创建 index.html在kibana中执行会发现《苹果树警告》分格出
GET _analyze?pretty
{"analyzer": "ik_smart","text": "【苹果树警告】您的工作还有一部分没有做完"
}

3.同义词

在工作中我遇到了以下要求
"【苹果树】您的工作还有一部分没有做完" 中的 “苹果树” 是等价于 ”上海同义词“
所以es要想实现此需求,则需要扩展词库1.在/usr/local/es/elasticsearch-node01/plugins/elasticsearch-analysis-ik-7.2.1/config中新建文件
new_synonyms.txt
echo "苹果树,上海同义词"
https://github.com/bells/elasticsearch-analysis-dynamic-synonym
2.删除索引,重新建立能够支持同义词的索引结构
DELETE /es_sms
PUT /es_sms
{"settings": {"number_of_replicas": 1,"number_of_shards": 1},"analysis":{"filter":{"javatom_synonym_filter":{"type":"synonym","synonyms_path":"elasticsearch-analysis-ik-7.2.1/config/javatom_synonyms.txt"},"javatom_remote_synonym" : {"type" : "dynamic_synonym","synonyms_path" : "http://106.14.65.218:8081/javatom_synonyms.txt","interval": 30}},"analyzer":{"ik_sms":{"type":"custom","tokenizer":"ik_smart","filter":["javatom_synonym_filter","javatom_remote_synonym"]},"ik_sms_max":{"type":"custom","tokenizer":"ik_max_word","filter":["javatom_synonym_filter","javatom_remote_synonym"] }}},"mappings": {"properties": {"id":{"type": "integer"},"phone":{"type":"keyword"},"content":{"type":"text","analyzer":"ik_sms_max","search_analyzer":"ik_sms"}}}
}
3.在上述我的配置中就可以我配置两个中方式来获取同义词
3.1 javatom_synonym_filter
3.2 javatom_remote_synonym 热更新同义词
第二种方式返回文件只要与javatom_synonym_filter格式相同就可以 

充电复习之ES 扩展词库及热更新词库,扩展同义词词库,及热扩展词库相关推荐

  1. Elasticsearch之中文分词器插件es-ik的自定义热更新词库

    1: 部署 http 服务 在这使用 tomcat7 作为 web 容器, 先下载一个 tomcat7, 然后上传到某一台服务器上(192.168.80.10). 再执行以下命令 tar -zxvf ...

  2. 六Elasticsearch之中文分词器插件es-ik的热更新词库

    参考:http://www.mamicode.com/info-detail-1705113.html 先声明,热更新词库,需要用到,web项目和Tomcat.不会的,请移步 Eclipse下Mave ...

  3. 31_ElasticSearch 修改IK分词器源码来基于mysql热更新词库

    31_ElasticSearch 修改IK分词器源码来基于mysql热更新词库 更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boo ...

  4. ElasticSearch 中文分词器ik的安装、测试、使用、自定义词库、热更新词库

    文章目录 # 实验环境 # ik分词器的下载.安装.测试 ## 安装方法一:使用elasticsearch-plugin 安装 ## 安装方法二:下载编译好的包进行安装 1.下载 2.安装 3.重启` ...

  5. es ik分词热更新MySQL,ElasticSearch(25)- 改IK分词器源码来基于mysql热更新词库

    代码地址 已经修改过的支持定期从数据库中提取新词库,来实现热更新.代码: https://github.com/csy512889371/learndemo/tree/master/elasticse ...

  6. ik mysql热加载分词_Elasticsearch 之(25)重写IK分词器源码来基于mysql热更新词库...

    热更新在上一节< IK分词器配置文件讲解以及自定义词库>自定义词库,每次都是在es的扩展词典中,手动添加新词语,很坑 (1)每次添加完,都要重启es才能生效,非常麻烦 (2)es是分布式的 ...

  7. Elasticsearch 分词器详解(热更新词库)

    1 分词器 text类型数据存入ES经过的步骤: 2 规范化(normalization) #采用默认分词器分词 GET _analyze {"analyzer": "s ...

  8. ElasticSearch最新版(8.4.3) IK分词器基于mysql实现热更新词库

    1 源码阅读思路 阅读Dictionary类下的initial方法,基于该方法进行改造 2 下载源码 https://github.com/medcl/elasticsearch-analysis-i ...

  9. 中文停用词文档_使用Python中的NLTK和spaCy删除停用词与文本标准化

    译者 | VK 来源 | Analytics Vidhya [磐创AI 导读]:本文介绍了如何使用Python中的NLTK和spaCy删除停用词与文本标准化,欢迎大家转发.留言.想要更多电子杂志的机器 ...

最新文章

  1. eigrp配置实验_路由器 OSPF 动态路由配置
  2. php什么版本好玩_新区传奇世界手游10点准时开放丨两个版本
  3. 如何在页面上输出html标签:符号实体
  4. mysql create database to_MySQL中CREATE DATABASE和CREATE SCHEMA区别(转)
  5. 【转】Emacs -- 自动补齐
  6. T-SQL远程数据库备份还原
  7. win10下Redis集群搭建的详细步骤
  8. Python一亿以内的素数个数_Python 计数质数
  9. java8彩蛋_随笔,JDK8的新时间工具类
  10. wxpython播放视频_opencv视屏流嵌入wxpython框架
  11. 实战HTML:花瓣网
  12. 面试再问 HashMap,求你把这篇文章发给他!
  13. java 的初始化顺序
  14. VMware Workstation16.2下载安装教程(win10)
  15. word自动图文集,制表位实现公式对齐,域代码,mathtype自动公式右编号
  16. 北京朝阳数北机房简介
  17. matlab柱状图设置条纹,matlab代码画条纹柱状图
  18. 【转】几种不同格式的json解析
  19. adguard自定义_openwrt上装adguard以及实用教程
  20. layui数据表格,Switch按钮点击后修改表单数据

热门文章

  1. 题解:最长回文子串(4种解法)
  2. JS中Generator函数的详解
  3. Gym - 102460L Largest Quadrilateral(几何-凸包+旋转卡壳求最大的四边形面积)
  4. conga+web+nfs(图文详细过程)
  5. 道教圣地青城山有一副名联:事在人为……
  6. 操作系统 第4章 习题整理
  7. XP终端服务远程登录批处理(邪恶八进制blog)
  8. JavaScript高级教程-代理与反射
  9. QQ浏览器 常用网站整理
  10. 网站白天or黑夜切换在重新加载时闪烁白色背景的解决思路