elasticsearch ik分词--实现专有名词分词 同义词解析
背景说明
公司有涉及汽车相关业务,需要基于输入的车型信息,去匹配系统已有的车型数据。
如输入“昂克赛拉 2016款 1.5L 自动”,
系统已有数据:“马自达3 昂克赛拉 2016款 两厢 1.5L AT 运动型”、“马自达3 昂克赛拉 2016款 两厢 2.0L AT 运动型”、“马自达3 昂克赛拉 2016款 两厢 2.0L AT 旗舰型”、“马自达3 昂克赛拉 2016款 两厢 1.5L MT 运动型”…
按匹配度展示给用户
实现
由于内容中包含中文、英文、数字,采用中文分词器(ik)来进行分词处理
优化前效果(使用ik-smart分词)
示例一:
问题:专有名词“昂克赛拉”被解析为四个词,不识别这个专有词
示例二:
问题:专有名词AT,没有解析处理。 被当做停用词处理掉了
示例三:
问题:汽车名词中,“手动”和“MT”表达的是同一个含义。本示例中的“手动”和示例二 MT这个词,没有解析为相同的词,降低了匹配度。
优化后效果
使用自定义的analyzer (ik_car_analyzer)
此时,可以看到,“昂克赛拉”被解析为一个词,AT没有被当做停用词且其同义词被解析出来了
调整点
- 更新词库,添加汽车专用名词、品牌等信息。
修改ik分词器下的词库文件,添加所有的汽车品牌、系列名称 (./plugins/ik/config/main.dic) - 构建同义词。如AT=自动,MT=手动。参考资料如下:
- https://blog.csdn.net/yusewuhen/article/details/50685685
- https://blog.csdn.net/tianzhaixing2013/article/details/51506496
- 修正停用词。如AT,被忽略了
修改ik分词器插件下的停止词文件 (./plugins/ik/config/stopword.dic)
{"settings": {"analysis": {"analyzer": {"ik_car_analyzer": {"type": "custom","tokenizer": "ik_smart","char_filter": [],"filter": ["lowercase","ik_car_filter" // 自定义过滤器]}},"filter": {"ik_car_filter": {"type": "synonym", // 定义同义词"synonyms_path": "../plugins/ik/config/synonym.dic"}}}}
}
elasticsearch ik分词--实现专有名词分词 同义词解析相关推荐
- elasticsearch IK分词器的安装、使用与扩展
ES 的默认分词器(standard)不支持中文分词,满足不了平时的需求,所以需要用能够支持中文分词的 IK 分词器.而且 IK 分词器也是支持英文分词的. 本文介绍下IK分词器的安装.基本使用方法: ...
- elasticsearch ik分词实现 中文、拼音、同义词搜索
EasticSearch版本:1.5.2 1.配置分词器:配置IK,参照 <ElasticSearch 安装和使用IK分词器> 2.拼音分词器配置:使用已经编译好的:elasticsear ...
- 狂神聊 ElasticSearch(IK分词器+Rest+集成SpringBoot+实战爬虫项目+完整代码及资料)
Bilibili 搜索关注:狂神说 Java(和狂神一起学习,共同进步) 公众号:狂神说(文章日更) 狂神聊 ElasticSearch 版本:ElasticSearch 7.6.1(全网最新了) 6 ...
- 使用Springboot整合ElasticSearch以及通过接口热更新分词和同义词
什么是ElasticSearch Elasticsearch(ES) 是一个基于Lucene构建的开源.分布式.RESTful接口全文搜索引擎.ElasticSearch还是一个分布式文档数据库,其中 ...
- elastic ik分词搜索_php环境下使用elasticSearch+ik分词器进行全文搜索
php中文网最新课程 每日17点准时技术干货分享 首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持. 安装java ...
- ik分词器 mysql php_php环境下使用elasticSearch+ik分词器进行全文搜索
首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持. 安装java win-64bit的安装包需要去java英文官网 ...
- ElasticSearch IK 分词器快速上手
简介: ElasticSearch IK 分词器快速上手 一.安装 IK 分词器 1.分配伪终端 我的 ElasticSearch 是使用 Docker 安装的,所以先给容器分配一个伪终端.之后就可以 ...
- 服务器安装配置elasticsearch,kibana,IK分词器和拼音分词器,集群搭建教程
docker安装配置elasticsearch,kibana和IK分词器 elasticsearch文章系列 前置安装docker 创建docker网络 安装Elasticsearch 运行elast ...
- Elasticsearch生产实战(ik分词器、拼音分词、自动补全、自动纠错)
目录 一.IK分词器 1.IK分词器介绍 2.安装 3.使用 4.自定义词库 二.拼音分词器 1.拼音分词器介绍 2.安装 三.自动补全 1.效果演示 2.实战 四.自动纠错 1.场景描述 2.DSL ...
- ElasticSearch——IK分词器的下载及使用
ElasticSearch--IK分词器的下载及使用 1.什么是IK分词器 ElasticSearch 几种常用分词器如下: 分词器 分词方式 StandardAnalyzer 单字分词 CJKAna ...
最新文章
- Line 923: Char 9: runtime error: reference binding to null pointer of type ‘int‘ (stl_vector.h)
- SpringBoot如何返回页面
- linux服务器无网络确认,Linux服务器故障排查实用指南
- java 多线程状态_总结Java中线程的状态及多线程的实现方式
- 单片机与普通微型计算机不同在于,单片机与普通微型计算机的不同之处
- java基础语法实例教程_Java 基础语法
- 苹果就降速门道歉,将 iPhone 电池更换价格下调至 218 元!
- java之方法覆盖的坑
- 拓端tecdat|R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
- Androidx 切换多语言失效解决方案(appcompat版本有关)
- 在上海社保千万不要断,如果断了,一定要这样做!
- 网络安全-典型的恶意代码
- 电脑录音效果不佳的问题解决
- Python3制作二维码
- 【总结】FLANN特征匹配
- cf1367E 思维+贪心
- 全选与反选 (转)
- 全国各大高校FTP地址大全
- Redis 作 mysql 的缓存服务器及redis的高可用
- awr报告 解读_Oracle的AWR报告分析
热门文章
- 微信卡包新增入口跳转小程序
- 在https://m.baidu.com/百度搜索框中输入文字点击搜索,出现如下错误:Message: element not interactable.
- Pandas - 5.缺失值处理
- python 模拟键盘鼠标输入_Python模拟键盘输入和鼠标操作
- 人力资源面试必问的十大问题
- Laravel Eloquent If Record Exists
- 面向对象:找个温暖的人一起慢慢变老
- linux没有cpufreq目录,linux cpufreq framework(1)_概述
- mac pro词典无法使用问题
- 免费网页版PS,太好用了