文章目录

  • 概述
  • match_phrase_prefix
    • 官方说明
    • 例子
  • 总结

概述

继续跟中华石杉老师学习ES,第22篇

课程地址: https://www.roncoo.com/view/55


match_phrase_prefix

官方说明

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html


搜索推荐,search as you type,搜索提示,解释一下什么意思

假设有这么几个doc 如下

hello world
hello we
hello win
hello wind
hello dog
hello cat

搜索 hello w

hello world
hello we
hello win
hello wind

会给出提示 如何上 ,搜索推荐的功能

这种效果


例子

造点数据

PUT /my_index1/my_type1/1
{"content":"hello Jack"
}PUT /my_index1/my_type1/2
{"content":"hello John"
}PUT /my_index1/my_type1/3
{"content":"hello Jose"
}PUT /my_index1/my_type1/4
{"content":"hello Dave"
}

查询

GET /my_index1/my_type1/_search
{"query": {"match_phrase_prefix": {"content": "hello J"}}
}

返回

{"took": 38,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 3,"max_score": 1.7509375,"hits": [{"_index": "my_index1","_type": "my_type1","_id": "2","_score": 1.7509375,"_source": {"content": "hello John"}},{"_index": "my_index1","_type": "my_type1","_id": "1","_score": 1.1507283,"_source": {"content": "hello Jack"}},{"_index": "my_index1","_type": "my_type1","_id": "3","_score": 1.1507283,"_source": {"content": "hello Jose"}}]}
}

总结

match_phrase_prefix原理跟match_phrase类似,唯一的区别,就是把最后一个term作为前缀去搜索

  • hello就是去进行match,搜索对应的doc
  • w,会作为前缀,去扫描整个倒排索引,找到所有w开头的doc
  • 然后找到所有doc中,即包含hello,又包含w开头的字符的doc
  • 根据你的slop去计算,看在slop范围内,能不能让hello w,正好跟doc中的hello和w开头的单词的position相匹配
  • 也可以指定slop,但是只有最后一个term会作为前缀

  • max_expansions:指定prefix最多匹配多少个term,超过这个数量就不继续匹配了,限定性能
  • 默认情况下,前缀要扫描所有的倒排索引中的term,去查找w打头的单词,但是这样性能太差。可以用max_expansions限定,w前缀最多匹配多少个term,就不再继续搜索倒排索引了。

尽量不要用,因为,最后一个前缀始终要去扫描大量的索引,性能可能会很差

白话Elasticsearch22- 深度探秘搜索技术之match_phrase_prefix实现search-time搜索推荐相关推荐

  1. 白话Elasticsearch17-深度探秘搜索技术之match_phrase query 短语匹配搜索

    文章目录 概述 官网 近似匹配 例子 match query match phrase query term position match_phrase的基本原理 概述 继续跟中华石杉老师学习ES,第 ...

  2. 白话Elasticsearch08-深度探秘搜索技术之基于boost的细粒度搜索条件权重控制

    文章目录 概述 boost 示例 概述 继续跟中华石杉老师学习ES,第八篇 课程地址: https://www.roncoo.com/view/55 boost https://www.elastic ...

  3. 专访头条搜索:从推荐到搜索,如何构建搜索技术的另一种可能?

    今日头条又将搜索业务往前推进了一步.4 月 30 日,今日头条宣布上线"头条百科"测试版.界面简洁,除了搜索框外,只有一个 Slogan:" 来这里,认识世界!" ...

  4. 论搜索技术对人类的四大社会性意义

    论搜索技术对人类的四大社会性意义 搜索引擎技术和资本门槛本身并不高,但随着人性因素的彰显而进入深度竞争阶段的互联网时代来临之后,搜索之争趋于深度竞争,深刻理解搜索对于人类的社会性意义成为竞争战略和策略 ...

  5. 复杂的1秒--图解Google搜索技术

    http://www.cnblogs.com/printN/p/6414854.html 谷歌(Google),一个非常成功,但又十分神秘,而且带有几分理想化色彩的互联网搜索巨人,它还是一家相当了不起 ...

  6. 复杂的1秒 图解Google搜索技术

    谷歌自家设计服务器 谷歌的数据中心高度机密,我们所能得到的信息十分有限.我们先来看几个数据:谷歌在美国本土的数据中心有19个以上,另有17个分布在美国以外的世界各地;每个数据中心有50万平方英尺(46 ...

  7. 搜索技术之我不懂的东西?

    前几天上着班呢,一个过去的同事给我打电话过来,接起电话,就听那边机关枪似得一顿扫射,谈话内容是这样子的. 那个谁,我这里现在有个问题要请教下你,这边有个站,客户要加个需求,就是需要一个搜索的功能,大概 ...

  8. 白话Elasticsearch16-深度探秘搜索技术之使用原生cross-fiedls技术解决搜索弊端

    文章目录 概述 例子 概述 继续跟中华石杉老师学习ES,第15篇 课程地址: https://www.roncoo.com/view/55 白话Elasticsearch14-基于multi_matc ...

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

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

最新文章

  1. OpenCV中imread/imwrite与imdecode/imencode的异同
  2. 利用ZYNQ SOC快速打开算法验证通路(5)——system generator算法IP导入IP integrator
  3. linux class device
  4. 异步执行和多线程编程的关系
  5. 笔记 — 动画效果(Css3)
  6. 数字孪生营销_如何通过数字营销增加您的自由职业收入
  7. 怎么在eclipse中安装properties插件使其显示中文
  8. cisco 模拟器安装及交换机的基本配置实验心得_看完这份1113页的TCP/IP协议+路由与交换机,成功上岸字节跳动...
  9. 如何部署Java_web项目到云服务器上
  10. php毕设周记_(完整版)毕设周记
  11. 输入输出工具技术(ITTO)要背吗?——软考高项笔记8
  12. Mac上的网络视频会议软件
  13. RE写作Issue问题题库分析与提纲
  14. 润乾统计图超链接使用例子
  15. multiset用法详解
  16. 运用python简单的画圆
  17. python的循环语句有哪些_python的循环语句
  18. Vue 表情输入组件,微信face表情组件
  19. GC详解---JVM(三)
  20. 关于串联匹配电阻其作用

热门文章

  1. pyspark rdd 基本操作
  2. 神经网络贷款风险评估(base on keras and python )
  3. thinkpad风扇声音大_笔记本风扇声音很大怎么解决
  4. 628. Maximum Product of Three Numbers
  5. 文巾解题 26. 删除有序数组中的重复项
  6. 编程语言中的Lambda 函数是如何产生的 它究竟有什么用
  7. LeetCode面试刷题技巧-二分查找算法(下):通过 LeetCode 学习二分查找算法-销售价值减少的颜色球
  8. tableau实战系列(三十四)-教你如何在tableau中实现3D效果作图
  9. python 查看当前系统Python版本
  10. 机器学习之手把手实现,第 2 部分 频繁项集与关联规则 FP-growth 的原理和实现...