Elastic Stack--ES的DSL语句查询

2024-09-06 08:12
文章标签 es 查询 stack 语句 elastic dsl

本文主要是介绍Elastic Stack--ES的DSL语句查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

学习B站博主教程笔记: 

最新版适合自学的ElasticStack全套视频(Elk零基础入门到精通教程)Linux运维必备—ElasticSearch+Logstash+Kibana精讲_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1VMW3e6Ezk/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=e539f90574cdb0bc2bc30a8b5cb3fc00

1、什么是DSL

Elasticsearch提供了基于JSON的完整Query DSL(Domain Specific Language,领域特定语言)来定义查询。

2、全文检索-match查询

 # 查询品牌是"小苹华"的所有商品。背后的逻辑是会对中文进行分词POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"match":{"brand":"小苹华"}}}

3、完全匹配-match_phrase查询

 # 查询品牌是"小苹华"的所有商品。背后的逻辑是不会对中文进行分词!!!POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"match_phrase":{"brand":"小苹华"}}}

4、全量查询-match_all

 # 请求体内容可以不写,默认就是发起了全量查询(match_all)POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"match_all":{}}}

5、分页查询-size-from

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"match_all":{}},"siez": 7,"from": 28}# size:每页显示多少条数据,默认值为10# from:指定跳过数据偏移量的大小,默认值为10,即默认看第一页。查询指定页码的from值="(页码-1)*每页数据大小(size)"

6、查看"_source"对象的指定字段

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"match_all":{}},"siez": 7,"from": 28"_source":["brand","price"]}

7、查询包含指定字段的文档-exists

exists:判断某个字段是否存在,若存在则返回该文档,若不存在,则不返回文档

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"exists":{"field": "hobby"}}}

8、语法高亮-highlight

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"match":{"brand": "苹果"}},"highlight":{"pre_tags": ["<h1>"],       "post_tags": ["</h1>"]"fileds":{"brand":{}}}}# highlight:设置高亮# fields:指定对哪个字段进行语法高亮# pre_tags:自定义高亮的前缀标签# post_tags:自定义高亮的后缀标签

9、基于字段进行排序-sort

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"match":{"brand": "苹果"}},"sort":{"price":{"order":"asc"}}}# sort:基于指定的字段进行排序# order:指定排序的规则,分为"asc"(升序)和"desc"(降序)

10、多条件查询-bool

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"bool":{"must":{{"match_phrase":{"brand":"苹果"}},{"match": 5499}}}}}# bool:可以匹配多个条件查询;其中有"must","must_not","should"

11、范围查询-range

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"bool":{"must":{{"match_phrase":"苹果"}}   },"filter":{"range":{"price":{"gt": 5000,"lt": 8000}}}}}# filter:过滤数据# range:基于范围进行过滤,此处为基于的是"price"进行过滤;

12、精确匹配查询-terms

 POST http://192.168.1.0:9200/cluster-shopping/_search{"query":{"terms":{"price": [4699,299,4066]}}}

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!

这篇关于Elastic Stack--ES的DSL语句查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

Mysql常见的SQL语句格式及实用技巧

《Mysql常见的SQL语句格式及实用技巧》本文系统梳理MySQL常见SQL语句格式,涵盖数据库与表的创建、删除、修改、查询操作,以及记录增删改查和多表关联等高级查询,同时提供索引优化、事务处理、临时... 目录一、常用语法汇总二、示例1.数据库操作2.表操作3.记录操作 4.高级查询三、实用技巧一、常用语

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

XML重复查询一条Sql语句的解决方法

《XML重复查询一条Sql语句的解决方法》文章分析了XML重复查询与日志失效问题,指出因DTO缺少@Data注解导致日志无法格式化、空指针风险及参数穿透,进而引发性能灾难,解决方案为在Controll... 目录一、核心问题:从SQL重复执行到日志失效二、根因剖析:DTO断裂引发的级联故障三、解决方案:修复

mysql查询使用_rowid虚拟列的示例

《mysql查询使用_rowid虚拟列的示例》MySQL中,_rowid是InnoDB虚拟列,用于无主键表的行ID查询,若存在主键或唯一列,则指向其,否则使用隐藏ID(不稳定),推荐使用ROW_NUM... 目录1. 基本查询(适用于没有主键的表)2. 检查表是否支持 _rowid3. 注意事项4. 最佳实

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA