ElasticSearch的DSL查询语法解析

Elasticsearch提供了基于ISON的DSL (Domain Specific Lanquage)来定义查询。

目录

一、常见查询类型

二、DSLQuery基本语法 

三、全文检索查询

3.1 match查询:会对用户输入内容分词,常用于搜索框搜索 ,语法:

3.2 multi match查询:与match查询类似,只不过允许同时查询多个字段,语法:

四、精确查询 

五、地理查询

 5.1 geo_bounding_box:查询geo point值落在某个矩形范围的所有文档

​编辑 5.2 geo_distance:查询到指定中心点小于某个距离值的所有文档

六、复合查询


 

一、常见查询类型

  • 查询所有:查询出所有数据,一般测试用。

        例如:match all 

  • 全文检索 (full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。

        例如: match_query、multi_match_query

  • 精确查询:根据精确词条值查找数据,一般是查找keyword、数值、日期、boolean等类型字段。

        例如:ids、range、term

  • 地理 (geo)查询:根据经纬度查询。

        例如:geo_distance、geo_bounding_box

  • 复合 (compound)查询:复合查询可以将上述各种查询条件组合起来,合并查询条件。

        例如:bool、function_score

二、DSLQuery基本语法 

查询DSL的基本语法是什么?

  • GET /索引库名/_search
  • { "query" : { "查询类型" : { "FIELD" : "TEXT" } } }

三、全文检索查询

3.1 match查询:会对用户输入内容分词,常用于搜索框搜索 ,语法:

3.2 multi match查询:与match查询类似,只不过允许同时查询多个字段,语法:

match 和 multi match 的区别是什么?

  • match:根据一个字段查询
  • multi match:根据多个字段查询,参与查询字段越多,查询性能越差 

四、精确查询 

精确查询一般是查找keyword、数值、日期、boolean等类型字段。所以不会对搜索条件分词。常见的有:

  • term:根据词条精确值查询
  • range:根据值的范围查询

精确查询常见的有哪些?

  • term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段
  • range查询:根据数值范围查询,可以是数值、日期的范围

五、地理查询

根据经纬度查询。常见的使用场景包括: 

 5.1 geo_bounding_box:查询geo point值落在某个矩形范围的所有文档
 5.2 geo_distance:查询到指定中心点小于某个距离值的所有文档

六、复合查询

实现更复杂的搜索逻辑,例如:复合(compound)查询:复合查询可以将其它简单查询组合起来。

fuction score:算分函数查询,可以控制文档相关性算分,控制文档排名。

elasticsearch中的相关性打分算法是什么?

  • TF-IDF:在elasticsearch5.0之前,会随着频增加而越来越大
  • BM25:在elasticsearch5.0之后,会随着词频增加而增大,但增长曲线会趋于水平

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326951.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb 页面上显示中文乱码解决~

你们好,我是金金金。 场景 我正在学习servlet,通过write()方法向页面上写入中文数据,没想到显示的都是?? 乱码,如图 排查 很明显可以看出来页面上显示的是??,我猜想肯定是字符编码的问题,导致乱码 造成…

获取小红书笔记详情API调用说明(含请求示例参数说明)

前言 小红书,是一个引领全球时尚潮流的社交电商平台。在这里,你可以发现世界各地的优质好物,从美妆护肤、穿搭时尚,到家居生活、旅行美食,一切应有尽有。同时,这里也是一个分享生活点滴的平台,…

unity PDFRender Curved UI3.3

【PDF】PDFRender 链接:https://pan.baidu.com/s/1wSlmfiWTAHZKqEESxuMH6Q 提取码:csdn 【曲面ui】 Curved UI3.3 链接:https://pan.baidu.com/s/1uNZySJTW0-pPwi2FTE6fgA 提取码:csdn

SpringCloud-高级篇(十一)

(1)搭建Redis-主从架构 前面我们实现了Redis的持久化,解决了数据安全问题,但是还有需要解决的问题,下面学习Redis的主从集群,解决Redis的并发能力的问题 Redis的集群往往是主从集群,Redsi为什么…

瑞数4——MmEwMD逆向分析

瑞数4——MmEwMD逆向分析 提示简介定位入口MmEwMD生成所需参数分析MmEwMD生成的大致流程第一部分生成(所需三个参数)第一部分生成的值赋值给另一个变量第二部分生成并与第一部分拼接最终的结果与MmEwMD拼接 第一部分生成的逆向分析(所需参数:数组a、数字…

【漏洞复现】冰峰VPN存在敏感信息泄露漏洞

漏洞描述 冰峰VPN log/system.log模块日志信息泄露漏洞 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利…

使用代理IP保护爬虫访问隐私数据的方法探讨

目录 前言 1. 获取代理IP列表 2. 随机选择代理IP 3. 使用代理IP发送请求 4. 处理代理IP异常 总结 前言 保护爬虫访问隐私数据是一个重要的安全问题。为了保障用户的隐私,很多网站会采取限制措施,如封禁IP或限制访问频率。为了绕过这些限制&#x…

1、Excel工作场景和知识点总结

参考: 戴师兄–戴你玩转数据分析 Excel发挥战斗力的场景 地量级数据的存储 我们日常所用的各种数据表格,基本都以excel的.xlsx或者.xls格式进行存储。并且因为大家电脑上都有excel,这就使excel的通用性很高(我用excel做好一个表发给你&#x…

Nginx 常用变量 与 防盗链

目录 1.常用变量 2. $http_referer 配置防盗链 2.1 referer 2.2 配置防盗链 1.常用变量 变量说明 $args 请求中的参数,也叫查询参数 $content_length HTTP响应信息里的"Content-Length" $document_root nginx虚拟主机配置文件中的root站点根目录…

程序员必知!命令模式的实战应用与案例分析

命令模式是一种行为设计模式,它将请求封装为对象以实现客户端参数化、请求排队、日志记录及撤销操作,旨在解耦调用者与操作实现者,以智能家居为例,用户通过界面发送命令对象,设备作为接收者执行相应操作,无…

EBU7140 Security and Authentication(三)密钥管理;IP 层安全

B3 密钥管理 密钥分类: 按时长: short term:短期密钥,用于一次加密。long term:长期密钥,用于加密或者授权。 按服务类型: Authentication keys:公钥长期,私钥短期…

航空公司管理系统(迷你版12306)

要求 今天分享一个之前辅导留学生的作业,作业要求如下: Project E: Airways Management System Overall description: Your team is employed by an Airways company for the implementation of a computer system responsible for a large part of th…