一. Highlight高亮查询

a) 三种高亮:

i. unified highlighter:默认的高亮方式,使用Lucene的实现方式

ii. plain highlighter:性能较高,消耗少量内存,性价比高

iii. fast vactor highlighter 适合字段较大,较复杂的查询情况

b) 自定义标签

i. pre_tag:起始标签,如

ii. post_tag:结束标签,如

c) 参数设置:https://www.elastic.co/guide/en/elasticsearch/reference/current/highlighting.html

d) 注意

i. 每个高亮字段都需要对应一个查询

二. Suggest搜索推荐

  1. 四种suggest:term suggester、phrase suggester、completion suggester、context suggester

i. term suggester:根据词项的词频来推荐

  1. 重要参数:

a) text:用户搜索的文本

b) field:要从哪个字段选取推荐数据

c) analyzer:使用哪种分词器

d) size:每个建议返回的最大结果数

e) sort:如何按照提示词项排序,参数值只可以是以下两个枚举:

i. score:分数>词频>词项本身

ii. frequency:词频>分数>词项本身

f) suggest_mode:搜索推荐的推荐模式,参数值亦是枚举:

i. missing:默认值,仅匹配不在索引中的词项

ii. popular:仅推荐比原始推荐词项文档词频(doc count)更高的相似词项

iii. always:根据 建议文本中的词项 推荐 任何匹配的建议词

g) max_edits:可以具有最大偏移距离候选建议以便被认为是建议。只能是1到2之间的值。任何其他值都将导致引发错误的请求错误。默认为2

h) prefix_length:前缀匹配的时候,必须满足的最少字符

i) min_word_length:最少包含的单词数量

j) min_doc_freq:最少的文档频率

  1. phrase suggester:phrase suggester和term suggester相比,对建议的文本会参考上下文,也就是一个句子的其他token,不只是单纯的token距离匹配,它可以基于共生和频率选出更好的建议。

i. direct_generator:phrase suggester使用候选生成器生成给定文本中每个项可能的项的列表。单个候选生成器类似于为文本中的每个单独的调用term suggester。生成器的输出随后与建议候选项中的候选项结合打分。目前只支持一种候选生成器,即direct_generator。建议API接受密钥直接生成器下的生成器列表;列表中的每个生成器都按原始文本中的每个项调用。

ii. highlight:高亮标签

  1. pre_tag:起始标签,如

  2. post_tag:闭合标签,如

  1. completion suggester:自动补全,自动完成,支持三种查询【前缀查询(prefix)/模糊查询(fuzzy)/正则表达式查询(regex)】

i. Completion:es的一种特有类型,专门为suggest提供,基于内存,性能很高。

ii. prefix query:基于前缀查询的搜索提示,是最常用的一种搜索推荐查询。

  1. prefix:客户端搜索词

  2. field:建议词字段

  3. size:需要返回的建议词数量

  4. skip_duplicates:是否过滤掉重复建议,默认false

iii. fuzzy query

  1. fuzziness:允许的偏移量,默认auto

  2. transpositions:如果设置为true,则换位计为一次更改而不是两次更改,默认为true。

  3. min_length:返回模糊建议之前的最小输入长度,默认 3

  4. prefix_length:输入的最小长度(不检查模糊替代项)默认为 1

  5. unicode_aware:如果为true,则所有度量(如模糊编辑距离,换位和长度)均以Unicode代码点而不是以字节为单位。这比原始字节略慢,因此默认情况下将其设置为false。

iv. regex query:可以用正则表示前缀,不建议使用

  1. context suggester:完成建议者会考虑索引中的所有文档,但是通常希望提供由某些条件过滤和/或增强的建议。

三. 地理位置搜索 疫情地图

a) geo_point:地理位置类型,经纬度坐标

i. latitude:维度 缩写:lat

ii. longitude:经度 缩写:lon

b) Geo-bounding box query:两个点确定一个矩形,搜索中间的点

i. top_left:矩形左上点坐标

ii. bottom_right:矩形右上角表

参考文章:http://www.ysxbohui.com/article/25

ES之Highlight及Suggest搜索推荐详解相关推荐

  1. linux如何确定共享库路径,摘录Linux下动态共享库加载时的搜索路径详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

  2. Spring和Elasticsearch全文搜索整合详解

    Spring和Elasticsearch全文搜索整合详解 一.概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web ...

  3. 模糊匹配 读音_onenote搜索机制详解②:两种搜索模式,模糊与精确匹配

    先从纯文本搜索讲起,这是最基本也是最重要的. 从这篇开始,以及接下来连续几篇文章,都会介绍搜索的基础功能.注意,这几篇文章中谈论的都是基本的.正常的搜索功能,暂时不考虑Bug等因素. 在很多软件(例如 ...

  4. 【干货】某视频app推荐详解.pdf(附下载链接)

    今天给大家带来一份干货资料<某视频app推荐详解.pdf>,本文档包含推荐目标.推荐模型.推荐架构以及产品和运营相关的问题,文档已收录到小程序省时查报告中,大家可以到省时查报告小程序中查看 ...

  5. 搜索引擎高级搜索指令详解

    在当今外贸竞争越来越惨烈的情况下,广大站长没有两把刷子是不行滴.学习外贸SEO就是一个方法. 当初凭借傻瓜式就可以赚取美金等外币的时代已经悄悄远去,当下如果要提高站点排名,提升外贸网站流量,那么必须使 ...

  6. DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)

    目录 那年深夏 引入 1.什么是深度优先搜索(DFS)? 2.什么是栈? 3.什么是递归? 图解过程 问题示例 1.全排列问题 2.迷宫问题 3.棋盘问题(N皇后) 4.加法分解 模板 剪枝 1.简介 ...

  7. DFS (深度优先搜索) 算法详解 + 模板 + 例题,这一篇就够了

    深度优先搜索算法(Depth First Search,简称DFS):一种用于遍历或搜索树或图的算法. 沿着树的深度遍历树的节点,尽可能深的搜索树的分支.当节点v的所在边都己被探寻过或者在搜寻时结点不 ...

  8. elasticsearch分布式搜索配置文件详解

    2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务.它是基于Apache Lucene搜索引擎的类库创 ...

  9. Linux下动态共享库加载时的搜索路径详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

最新文章

  1. Python学习——模块的基本知识
  2. 一天一个Linux基础命令之复制文件或目录命令cp
  3. 别人的Linux私房菜(17)进程管理与SELinux初探
  4. 【大会】延迟还能再低点吗?不能,但也能
  5. 华为鸿蒙系统正式登场,华为自研鸿蒙系统将于8月9日正式登场,还有全新的鸿鹄芯片...
  6. abap判断包含字符当中包含小数点_剑指Offer整理3 -- 栈和队列 + 数学和字符串
  7. memcached linux 配置文件,Linux下Memcached服务器部署 | 系统运维
  8. Wps的两种论文标注参考文献
  9. LINUX C/C++捕获段错误,打印出错的具体位置(精确到哪一行) ​ --Xilinx ARM版本
  10. scrapy爬虫实例:凤凰网
  11. Molecular weight相对分子质量
  12. 打造急速开发框架FastApp
  13. 将数组定义到SDRAM 当中使用
  14. android应用常见错误
  15. 嘀嗒出行的IPO备战
  16. 进入页面 element 校验规则 自动校验问题
  17. 华为交换机板卡端口型号对照
  18. 项目管理相关参数说明计算(PV、AC、EV、BAC、EAC、ETC等)
  19. c语言实心圆方程式,C语言做实心圆
  20. 【转】上海居住证和户口的区别

热门文章

  1. ESP8266智能灯控
  2. html元素设置四边框的顺序,互联网常识:html怎么设置边框
  3. 机器学习案例:运营商客户流失的数据分析 #数据去重#数据分组整合#缺失值处理#相关性分析#样本平衡#决策树、随机森林、逻辑回归
  4. Fedora 博通无线网卡 linux 驱动
  5. 交叉熵的物理意义及简单公式推导
  6. Newman介绍与安装
  7. KMP、BM、Sunday、Horspool、strstr字符串匹配算法的性能比较
  8. python中frame是什么意思_Python实例之wxpython中Frame使用方法
  9. 远程字典服务Redis,感谢B站黑马程序员,多多三连
  10. 【前端圭臬】五:CSS 核心机制——布局