一个案例弄懂ElasticSearch分词匹配原理和同义词
基础:ES支持两种同义方式。一种是单向同义词,一种是双向同义词。
臀部,臀,屁股
斑=>斑,雀斑
i-pod,i pod,i pad =>ipod
说明:对于臀部,臀,屁股。我们可以理解成相互完全等价。对于“斑”“雀斑”,如果文章分词后包含“斑”,会自动存入“斑”“雀斑”两个字词,这样搜索斑或者雀斑都会命中该文章。如果使用"i-pod","i pod","i pad"转为"ipod”,那就会出现一个问题就是在因为存储的是"ipod”,所以搜"i pad"就不会命中该文章了。不推荐使用这种方式。
需求:今天有一个需求,我们认为“超声提升”和“超声刀”是一种东西,想实现搜“超声提升”同时出现“超声提升”和“超声刀”的文章。
实践:
第一步、我们先在同义词配置了"超声提升,超声刀",这时候搜索的“超声提升”,发现无法召回超声刀的文章。这是因为虽然配置了同义词,因为旧的ES索引在建立的时候并不知道这对同义词,所以需要重跑索引。
第二步、我们重跑了文章的索引,这时候搜索的“超声提升”,仍然无法召回“超声刀”的文章。这是因为搜索“超声提升”,search_analyzer会把他分词成“超声”和“提升”,而索引中存的是“超声提升”,无法命中。所以需要搜索分词。
第三步、我们分析了“超声提升”,这个词没有比较分词。于是我们把“超声提升”加入分词dict。这样搜索“超声提升”就会按照“超声提升”去搜索。完美解决。
一个案例弄懂ElasticSearch分词匹配原理和同义词相关推荐
- java写一个外网访问的接口_【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)...
0 前言 初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类.对象.重载.封装.继承.多态.覆盖.抽象类.接口概念.为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定 ...
- 一个案例搞懂工厂模式和单例模式
一个案例搞懂工厂模式和单例模式 1 单例模式 一个对象只有一个实例 单例类必须自己创建自己的唯一实例. 单例类必须给所有其他对象提供这一实例. 注意:所有的单例模式,应当使其构造方法私有化. 1.1 ...
- 99%的人没弄懂volatile的设计原理,更别说灵活运用了
写volatile的文章非常多,本人也看过许多相关文章,但始终感觉有哪里不太明白,但又说不上来说为什么.可能是过于追求底层实现原理,老想问一个为什么吧. 而写这篇文章的目的很简单,就是突然之间明白了v ...
- 一文弄懂区块链技术原理
前言 近期由于工作需要,于是对区块链相关技术展开了大量的研究和学习.本文将以开发者的角度,对整个区块链行业技术的发展做一次全面的总结和归纳. 文章宗旨是为了帮助大家理解区块链技术出现的目的.能够解决什 ...
- 5分钟弄懂:语音识别技术原理
简要给大家介绍一下语音怎么变文字的吧.希望这个介绍能让所有同学看懂. 首先,我们知道声音实际上是一种波.常见的mp3.wmv等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如Windows P ...
- nginx location 匹配 多个规则_三道小练习助你弄懂 Nginx location 匹配
在 Nginx 中我们可以通过配置 location 指令块,来决定一个请求 url 如何处理.如果我们编写了多条 location 指令块,如何保证各个 location 不会产生冲突?如何理清 l ...
- 一个故事看懂AI神经网络工作原理
我是一个AI神经元 我是一个AI神经元,刚刚来到这个世界上,一切对我来说都特别新奇. 之所以叫这个名字,是因为我的工作有点像人类身体中的神经元. 人体中的神经元可以传递生物信号,给它输入一个信号,它经 ...
- 一个故事弄懂域名解析
点赞后看,养成习惯 喜欢的话 可以点个关注哟 你们的点赞支持对博主们来说很重要哦 !!! 为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 为什么需要域名解析? 02 有关于域名解析的小故事 ...
- 一篇文章彻底弄懂零拷贝底层原理
前言 零拷贝是网络编程的关键,很多性能优化都离不开零拷贝,很多优秀的开源框架底层都用的零拷贝,如Netty.RocketMQ.Spark等 正文 1. 再看IO 在深入零拷贝机制之前,先来了解下传统B ...
最新文章
- 讯飞智慧餐厅(安徽赛区)比赛通知
- IBM AI辩手对战世界级人类辩手,炒作还是秀肌肉?
- python 地理信息_GitHub - sujeek/geospatial-data-analysis-cn: Python地理信息数据教程中文版(GeoPandas、GIS)...
- 《Language Implementation Patterns》之访问重写语法树
- 【华为云技术分享】敏捷开发落地不实际?原因可能在于你的 IDE 工具
- 容量法和库仑法的异同点_卡尔费休滴定仪容量法与库仑法有什么区别
- 两位动态数码管电子秒表c语言,清翔电子51单片机6课动态显示数码管作业秒表...
- Java21天打卡day18--继承
- MOQL--操作数(Operand) (二)
- 静态初始化--我的理解
- mfc与mysql_MFC与MySql的链接 VS2008
- c语言输出指定年份中所有的星期六,用C语言编写程序打印任意年份的日历
- 电脑主机前面的耳机插孔没声音怎么办?旧时光 oldtimeblog
- 机器学习(6): 决策树算法 小结与实验
- 使用ESP8266/ESP8285做一个WIFI中继(WiFi信号放大器)
- web项目01-----项目需求分析,需求文档
- MES助力日立电梯提升精细化管理水平
- 做网站的定律原理和效应
- SCDM学习笔记(1)
- 群辉linux系统搭建网站,群晖折腾 篇一:群晖Web Station 功能搭建属于自己的照片分享网站...