Elasticsearch 8.1官网文档梳理 - 十四、Query DSL(ES 查询语法)

2024-05-16 07:52

本文主要是介绍Elasticsearch 8.1官网文档梳理 - 十四、Query DSL(ES 查询语法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Query DSL

Elasticsearch 提供了一种基于JSON 的查询 DSL (Domain Specific Language) 来定义查询。可以把查询 DSL 看作是查询的 AST(Abstract Syntax Tree),由两种类型的子句组成:

叶子节点查询: 叶子查询子句在特定字段中查找特定值,例如 matchtermrange 查询。这类查询可以单独使用
复合查询子句: 复合查询可以包裹 叶子节点查询 或者 复合查询子句,用于组合多个查询( booldis_max)或改变查询行为(constant_score)。

一、Query and filter context

分别描述了什么是 相关性评分(Relevance scores)、相关性查询(Query context)、过滤查询(Filter context)

Filter context:

  • bool 中的 filtermust_not
  • constant_score 中的 filter
  • filter 聚合

二、Compound queries

复合查询

2.1 Boolean

用于组合 mustshouldmust_notfilter,查询,其中 mustshould 作为相关性查询,must_notfilter 作为过滤查询,不参与评分

2.2 Boosting

调整 相关性评分的查询,不调整 positive 匹配文档的评分,降低 negative 匹配文档的评分降低倍数 由 negative_boost [0 -1.0]参数决定

2.3 Constant score

通过 constant_score 查询返回的文档都具有相同的评分,评分为 boost 所给定的值

GET /_search
{"query": {"constant_score": {"filter": {"term": { "user.id": "kimchy" }},"boost": 1.2}}
}
2.4 Disjunction max

queries 中包含多个查询,取其中 最高的相关性评分 评分作为文档的相关性评分,或取 最高的相关性评分 加上 其他经过调整的查询结果的相关性评分 作为文档的相关性评分。

queries: 包含多个查询字句,返回的文档匹配一个或多个查询字句
tie_breaker: 调整除 最高的相关性评分 以外的其他相关性评分的系数

2.5 Function score

使用 function_score 可以修改查询检索到的文档的得分。

三、Full text queries

Geo queries

Shape queries

Joining queries

Match all

Span queries

Specialized queries

Term-level queries

minimum_should_match parameter

rewrite parameter

Regular expression syntax

这篇关于Elasticsearch 8.1官网文档梳理 - 十四、Query DSL(ES 查询语法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994315

相关文章

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Python批量替换多个Word文档的多个关键字的方法

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py... 目录工具准备先梳理一下思路神奇代码来啦!代码详解激动人心的测试结语嘿,各位小伙伴们,大家好!有没有想

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查

MyBatis流式查询两种实现方式

《MyBatis流式查询两种实现方式》本文详解MyBatis流式查询,通过ResultHandler和Cursor实现边读边处理,避免内存溢出,ResultHandler逐条回调,Cursor支持迭代... 目录MyBATis 流式查询详解:ResultHandler 与 Cursor1. 什么是流式查询?