充电复习之ES 扩展词库及热更新词库,扩展同义词词库,及热扩展词库
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 扩展词库及热更新词库,扩展同义词词库,及热扩展词库相关推荐
- Elasticsearch之中文分词器插件es-ik的自定义热更新词库
1: 部署 http 服务 在这使用 tomcat7 作为 web 容器, 先下载一个 tomcat7, 然后上传到某一台服务器上(192.168.80.10). 再执行以下命令 tar -zxvf ...
- 六Elasticsearch之中文分词器插件es-ik的热更新词库
参考:http://www.mamicode.com/info-detail-1705113.html 先声明,热更新词库,需要用到,web项目和Tomcat.不会的,请移步 Eclipse下Mave ...
- 31_ElasticSearch 修改IK分词器源码来基于mysql热更新词库
31_ElasticSearch 修改IK分词器源码来基于mysql热更新词库 更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boo ...
- ElasticSearch 中文分词器ik的安装、测试、使用、自定义词库、热更新词库
文章目录 # 实验环境 # ik分词器的下载.安装.测试 ## 安装方法一:使用elasticsearch-plugin 安装 ## 安装方法二:下载编译好的包进行安装 1.下载 2.安装 3.重启` ...
- es ik分词热更新MySQL,ElasticSearch(25)- 改IK分词器源码来基于mysql热更新词库
代码地址 已经修改过的支持定期从数据库中提取新词库,来实现热更新.代码: https://github.com/csy512889371/learndemo/tree/master/elasticse ...
- ik mysql热加载分词_Elasticsearch 之(25)重写IK分词器源码来基于mysql热更新词库...
热更新在上一节< IK分词器配置文件讲解以及自定义词库>自定义词库,每次都是在es的扩展词典中,手动添加新词语,很坑 (1)每次添加完,都要重启es才能生效,非常麻烦 (2)es是分布式的 ...
- Elasticsearch 分词器详解(热更新词库)
1 分词器 text类型数据存入ES经过的步骤: 2 规范化(normalization) #采用默认分词器分词 GET _analyze {"analyzer": "s ...
- ElasticSearch最新版(8.4.3) IK分词器基于mysql实现热更新词库
1 源码阅读思路 阅读Dictionary类下的initial方法,基于该方法进行改造 2 下载源码 https://github.com/medcl/elasticsearch-analysis-i ...
- 中文停用词文档_使用Python中的NLTK和spaCy删除停用词与文本标准化
译者 | VK 来源 | Analytics Vidhya [磐创AI 导读]:本文介绍了如何使用Python中的NLTK和spaCy删除停用词与文本标准化,欢迎大家转发.留言.想要更多电子杂志的机器 ...
最新文章
- eigrp配置实验_路由器 OSPF 动态路由配置
- php什么版本好玩_新区传奇世界手游10点准时开放丨两个版本
- 如何在页面上输出html标签:符号实体
- mysql create database to_MySQL中CREATE DATABASE和CREATE SCHEMA区别(转)
- 【转】Emacs -- 自动补齐
- T-SQL远程数据库备份还原
- win10下Redis集群搭建的详细步骤
- Python一亿以内的素数个数_Python 计数质数
- java8彩蛋_随笔,JDK8的新时间工具类
- wxpython播放视频_opencv视屏流嵌入wxpython框架
- 实战HTML:花瓣网
- 面试再问 HashMap,求你把这篇文章发给他!
- java 的初始化顺序
- VMware Workstation16.2下载安装教程(win10)
- word自动图文集,制表位实现公式对齐,域代码,mathtype自动公式右编号
- 北京朝阳数北机房简介
- matlab柱状图设置条纹,matlab代码画条纹柱状图
- 【转】几种不同格式的json解析
- adguard自定义_openwrt上装adguard以及实用教程
- layui数据表格,Switch按钮点击后修改表单数据