搜索的时候,可能输入的搜索文本会出现误拼写的情况

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模糊搜索技术相关推荐

  1. 白话Elasticsearch27-深度探秘搜索技术之误拼写时的fuzzy模糊搜索技术

    文章目录 概述 官方指导 例子 推荐写法 概述 继续跟中华石杉老师学习ES,第27篇 课程地址: https://www.roncoo.com/view/55 官方指导 https://www.ela ...

  2. tensorflow 显存 训练_【他山之石】训练时显存优化技术——OP合并与gradient checkpoint...

    作者:bindog 地址:http://bindog.github.io/ 01 背景 前几天看到知乎上的文章FLOPs与模型推理速度[1],文中提到一个比较耗时又占显存的pointwise操作x * ...

  3. 智能情绪分析技术_石化缘推荐:炼化企业智能机器人巡检技术应用前景分析!...

    本期内容由湖南天一奥星泵业有限公司冠名 炼化企业智能机器人巡检技术应用前景分析 王国彤1,孙秉才2,储胜利2,宋亚敏1(1.中国石油天然气股份有限公司大连石化分公司,辽宁省大连市:2.中国石油集团安全 ...

  4. 排名 教材 数字电子技术_国外电子与通信教材系列:数字电子技术(第10版) PDF 高清电子书...

    <国外电子与通信教材系列:数字电子技术(第10版)>图书简介 <国外电子与通信教材系列:数字电子技术(第10版)>,电子工业出版社出版,外文书名: Digital Fundam ...

  5. 智能情绪分析技术_简单分析人工智能的表现在计算机网络应用技术中的优势

    简单分析人工智能的表现在计算机网络应用技术中的优势 大数据时代背景下, 计算机网络技术迅猛发展, 而人工智能技术的发展也进一步推动了计算机网络技术的发展, 两者相互融合, 相互促进, 实现了双赢发展. ...

  6. 22_深度探秘搜索技术_手动控制全文检索(match)结果的精准度、基于boost的细粒度搜索条件实现权重控制...

    本文章收录于[Elasticsearch 系列],将详细的讲解 Elasticsearch 整个大体系,包括但不限于ELK讲解.ES调优.海量数据处理等 本博客以例子为主线,来说明在elasticse ...

  7. Elasticsearch深度探秘搜索技术如何手动控制全文检索结果的精准度

    为帖子数据增加标题字段 #插入数据 POST /post/_doc/_bulk { "update": { "_id": "1"} } { ...

  8. Elasticsearch深度探秘搜索技术基于multi_match语法实现dis_max+tie_breaker

    直接上代码 GET /post/_search {"query": {"multi_match": {"query": "java ...

  9. 23_深度探秘搜索技术_best fields策略的dis_max、tie_breaker参数以及multi_match语法

    目录 一.引入dis_max 实现best fields 的必要性 1.使用bulk批量添加测试数据 2.搜索title或content中包含java或solution的帖子 3.结果分析 二.bes ...

  10. 防治交换机窃听技术_等保2.0建设基本要求(技术部分)解读(下)

    网御星云对等保2.0基本要求技术部分,以四级为例,对安全计算环境.安全管理中心的控制点逐项解读内容如下: 01 安全计算环境 1.1 身份鉴别 a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一 ...

最新文章

  1. 随机线性插值提高神经网络的健壮性
  2. React Native Android启动白屏的一种解决方案上
  3. Python入门(三)变量类型及数据类型转换
  4. libtorch demo
  5. IPSec的NAT穿越
  6. 你真正的去了解过Linux吗?不单单是一些命令操作,比如它的系统架构!!!
  7. 基于UDP的组播网络程序
  8. 最优化学习笔记(三)最速下降法
  9. sqlserver oracle对比,sqlserver和oracle常用函数对比
  10. 十分钟搞定JeecgBoot 单体升级微服务!
  11. X大佬:建议被降级降薪员工主动辞职,网友炸了
  12. 代码编译方式 ant +ivy
  13. [开源]KJFramework.Message 智能二进制消息框架 - 新能力
  14. KVM的安装和配置命令详解
  15. xamarin android 设备,【Xamarin.Android】在Visual Studio中增强设备日志记录
  16. JAVA模板模式,简历模板(例子)
  17. 量子计算机前置同态加密技术,什么是具有抗量子计算机攻击潜质的全同态加密技术?...
  18. ueditor 图片水印 php,[UEditor]上传图片自动添加水印
  19. Win10 笔记本 共享 wifi 热点
  20. 华为公有云接口的问题

热门文章

  1. 一张图大神带你了解游戏程序员的学习之路
  2. 以太坊geth节点同步亲测经历
  3. 泛函分析之集合的映射和可数集与不可数集
  4. 重力传感事件应用之一 手机摇一摇(摇一次得一分)
  5. java开发tv上转盘抽奖_java实现大转盘抽奖的简单思路
  6. Java项目:SpringBoot人才求职招聘网站
  7. TeamViewer:一路前行,用技术实现领域更新
  8. 游泳这项技术怎么学?
  9. 【解析无线路由器信号消失原因】
  10. 机器学习“剧透”权游大结局:三傻最先领盒饭,龙妈、小恶魔笑到最后