进阶-第28__深度探秘搜索技术_实战掌握误拼写时的fuzzy模糊搜索技术
搜索的时候,可能输入的搜索文本会出现误拼写的情况
doc1: hello world
doc2: hello java
搜索:hallo world
fuzzy搜索技术 --> 自动将拼写错误的搜索文本,进行纠正,纠正以后去尝试匹配索引中的数据
添加数据
POST /my_index/my_type/_bulk { "index": { "_id": 1 }} { "text": "Surprise me!"} { "index": { "_id": 2 }} { "text": "That was surprising."} { "index": { "_id": 3 }} { "text": "I wasn't surprised."} |
Fuzziness 举例
GET /my_index/my_type/_search { "query": { "fuzzy": { "text": { "value": "surprize", "fuzziness": 2 } } } } 结果: { "took": 27, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 2, "max_score": 0.22585157, "hits": [ { "_index": "my_index", "_type": "my_type", "_id": "1", "_score": 0.22585157, "_source": { "text": "Surprise me!" } }, { "_index": "my_index", "_type": "my_type", "_id": "3", "_score": 0.1898702, "_source": { "text": "I wasn't surprised." } } ] } } |
surprize --> 拼写错误 --> surprise --> s -> z
surprize --> surprise -> z -> s,纠正一个字母,就可以匹配上,所以在fuziness指定的2范围内
surprize --> surprised -> z -> s,末尾加个d,纠正了2次,也可以匹配上,在fuziness指定的2范围内
surprize --> surprising -> z -> s,去掉e,ing,3次,总共要5次,才可以匹配上,始终纠正不了
fuzzy搜索以后,会自动尝试将你的搜索文本进行纠错,然后去跟文本进行匹配
fuzziness,你的搜索文本最多可以纠正几个字母去跟你的数据进行匹配,默认如果不设置,就是2,而且他有一个范围,及时你写了一个很大的fuzziness,也会不纠正。
一般使用技巧
GET /my_index/my_type/_search { "query": { "match": { "text": { "query": "SURPIZE ME", "fuzziness": "AUTO", "operator": "and" } } } } 结果: { "took": 8, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 1, "max_score": 0.44248468, "hits": [ { "_index": "my_index", "_type": "my_type", "_id": "1", "_score": 0.44248468, "_source": { "text": "Surprise me!" } } ] } } |
进阶-第28__深度探秘搜索技术_实战掌握误拼写时的fuzzy模糊搜索技术相关推荐
- 白话Elasticsearch27-深度探秘搜索技术之误拼写时的fuzzy模糊搜索技术
文章目录 概述 官方指导 例子 推荐写法 概述 继续跟中华石杉老师学习ES,第27篇 课程地址: https://www.roncoo.com/view/55 官方指导 https://www.ela ...
- tensorflow 显存 训练_【他山之石】训练时显存优化技术——OP合并与gradient checkpoint...
作者:bindog 地址:http://bindog.github.io/ 01 背景 前几天看到知乎上的文章FLOPs与模型推理速度[1],文中提到一个比较耗时又占显存的pointwise操作x * ...
- 智能情绪分析技术_石化缘推荐:炼化企业智能机器人巡检技术应用前景分析!...
本期内容由湖南天一奥星泵业有限公司冠名 炼化企业智能机器人巡检技术应用前景分析 王国彤1,孙秉才2,储胜利2,宋亚敏1(1.中国石油天然气股份有限公司大连石化分公司,辽宁省大连市:2.中国石油集团安全 ...
- 排名 教材 数字电子技术_国外电子与通信教材系列:数字电子技术(第10版) PDF 高清电子书...
<国外电子与通信教材系列:数字电子技术(第10版)>图书简介 <国外电子与通信教材系列:数字电子技术(第10版)>,电子工业出版社出版,外文书名: Digital Fundam ...
- 智能情绪分析技术_简单分析人工智能的表现在计算机网络应用技术中的优势
简单分析人工智能的表现在计算机网络应用技术中的优势 大数据时代背景下, 计算机网络技术迅猛发展, 而人工智能技术的发展也进一步推动了计算机网络技术的发展, 两者相互融合, 相互促进, 实现了双赢发展. ...
- 22_深度探秘搜索技术_手动控制全文检索(match)结果的精准度、基于boost的细粒度搜索条件实现权重控制...
本文章收录于[Elasticsearch 系列],将详细的讲解 Elasticsearch 整个大体系,包括但不限于ELK讲解.ES调优.海量数据处理等 本博客以例子为主线,来说明在elasticse ...
- Elasticsearch深度探秘搜索技术如何手动控制全文检索结果的精准度
为帖子数据增加标题字段 #插入数据 POST /post/_doc/_bulk { "update": { "_id": "1"} } { ...
- Elasticsearch深度探秘搜索技术基于multi_match语法实现dis_max+tie_breaker
直接上代码 GET /post/_search {"query": {"multi_match": {"query": "java ...
- 23_深度探秘搜索技术_best fields策略的dis_max、tie_breaker参数以及multi_match语法
目录 一.引入dis_max 实现best fields 的必要性 1.使用bulk批量添加测试数据 2.搜索title或content中包含java或solution的帖子 3.结果分析 二.bes ...
- 防治交换机窃听技术_等保2.0建设基本要求(技术部分)解读(下)
网御星云对等保2.0基本要求技术部分,以四级为例,对安全计算环境.安全管理中心的控制点逐项解读内容如下: 01 安全计算环境 1.1 身份鉴别 a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一 ...
最新文章
- 随机线性插值提高神经网络的健壮性
- React Native Android启动白屏的一种解决方案上
- Python入门(三)变量类型及数据类型转换
- libtorch demo
- IPSec的NAT穿越
- 你真正的去了解过Linux吗?不单单是一些命令操作,比如它的系统架构!!!
- 基于UDP的组播网络程序
- 最优化学习笔记(三)最速下降法
- sqlserver oracle对比,sqlserver和oracle常用函数对比
- 十分钟搞定JeecgBoot 单体升级微服务!
- X大佬:建议被降级降薪员工主动辞职,网友炸了
- 代码编译方式 ant +ivy
- [开源]KJFramework.Message 智能二进制消息框架 - 新能力
- KVM的安装和配置命令详解
- xamarin android 设备,【Xamarin.Android】在Visual Studio中增强设备日志记录
- JAVA模板模式,简历模板(例子)
- 量子计算机前置同态加密技术,什么是具有抗量子计算机攻击潜质的全同态加密技术?...
- ueditor 图片水印 php,[UEditor]上传图片自动添加水印
- Win10 笔记本 共享 wifi 热点
- 华为公有云接口的问题