【ES从入门到实战】十、全文检索-ElasticSearch-进阶-QueryDSL基本使用&match_all

2023-10-26

接第9节

2、Query DSL

在上一节中使用的形如

GET /bank/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "account_number": "asc"
    },
    {
      "balance": "desc"
    }
  ]
}

的查询语言风格,我们称之为 Query DSL

1)、基本语法格式

Elastisearch 提供了一个可以执行查询的 Json 风格的 DSl (domain-specific language 领域特定语言) 。这个被称为Query DSL。
该查询语言非常全面,并且刚开始的时候感觉有点复杂,真正学好它的方法是从一些基础的示例开始的。

  • 一个查询语句的典型结构
{
	QUERY_NAME:{
		ARGUMENT: VALUE,
		ARGUMENT: VALUE,
		...
	}
}

例如:

GET /bank/_search
{
  "query": {
    "match_all": {}
  }
}

在这里插入图片描述

  • 如果是针对某个字段,那么它的结构如下:
{
	QUERY_NAME:{
		FIELD_NAME:{
			ARGUMENT: VALUE,
			ARGUMENT: VALUE,
			...
		}
	}
}

例如:

GET /bank/_search
{
“query”: {
“match_all”: {}
},
“sort”: [
{
“balance”: {
“order”: “desc”
}
}
],
“from”: 0,
“size”: 5
}
- query 定义如何查询;
- match_all 查询类型【代表查询所有的所有】, es 中可以在 query 中组合非常多的查询类型完成复杂查询
- 除了 query 参数之外,我们也可以传递其它的参数以改变查询结果。如 sort,size;
- from+size 限定,完成分页功能;
- sort 排序,多字段排序,会在前序字段相等时后续字段内部排序,否则以前序为准

在这里插入图片描述

2)、返回部分字段

GET /bank/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "balance": {
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 5,
  "_source": ["balance","firstname"]
}

只返回 _source 中指定的字段,类似于 MySQL 中的 select field_1,field_2,... from table
在这里插入图片描述

参考文档-query-dsl


参考:

Elasticsearch Reference

elastic

全文搜索引擎 Elasticsearch 入门教程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ES从入门到实战】十、全文检索-ElasticSearch-进阶-QueryDSL基本使用&match_all 的相关文章

随机推荐

  • TDA4VM-LINUX-CSI-9296-9295-camera架构驱动分析和详细使用

    前言 TI在LINUX SDK 8 01版本后才开始支持Linux V4L2接入CSI2 所以在使用前尽量先用RTOS SDK接入CSI2的接口camera 正常工作后开始进行Linux V4L2的开发 LINUX SDK的安装使用 参考另
  • Linux微型服务器(NAS)的搭建

    现在人使用Nas的越来越多 但是对于学生党来说 拥有一个自己的Nas是一件令人兴奋的事情 本篇文章介绍微型Nas 基于神雕开发的海纳思系统 首先 我们选取的是机顶盒改微型nas 我们可以利用mas搭建网页 离线下载 挂青龙脚本 1 1Nas
  • 通过minikube部署kubernetes

    通过minikube部署kubernetes 需要本地验证部署一下knative 需要一个集群 所以先部署一个minikube 记录如下 0 环境准备 安装一个VM VirtualBox 6 0 4版本 1 安装Docker 自己的机器安装
  • 购物车测试用例

    1 界面测试 界面布局 排版是否合理 文字是否显示清晰 不同卖家的商品是否区分明显 页面的tooltips能正常显示 鼠标浮动在购物车按钮 迷你购物车界面显示是否正常 2 功能测试 未登录时 将商品加入购物车 页面跳转到登录页面 登录成功后
  • 开源Linux面板-1Panel

    开源Linux面板 1Panel 1Panel 是一个现代化 开源的 Linux 服务器运维管理面板 1Panel 的功能和优势包括 快速建站 深度集成 Wordpress 和 Halo 域名绑定 SSL 证书配置等一键搞定 高效管理 通过
  • Windows 10 PC 安装 Docker CE

    系统要求 Docker for Windows 支持 64 位版本的 Windows 10 Pro 且必须开启 Hyper V 安装 点击以下链接下载
  • 四数之和——双指针的实践

    一 四数之和 1 1 题目 给定一个包含 n 个整数的数组 nums 和一个目标值 target 判断 nums 中是否存在四个元素 a b c 和 d 使得 a b c d 的值与 target 相等 找出所有满足条件且不重复的四元组 1
  • frida学习及使用

    文章目录 安装frida 安装python3 7 设置环境变量 安装pycharm和nodejs 使用frida 将frida server push到手机设备中 端口转发 安装apk 使用jadx查看java代码 运行frida serv
  • npm 升级依赖包

    首先安装升级插件 npm check updates npm install g npm check updates 或者 cnpm install g npm check updates ncu 是 npm check updates 的
  • 防抖 / 节流

    防抖 新建debounce js文件 export const debounce function fun delay let timer return function let that this let args arguments i
  • 7月9日王者荣耀服务器维护,《王者荣耀》7月9日体验服停机更新公告

    亲爱的召唤师 为了增加版本的稳定性 我们计划在2021年7月9日16 00 18 00对 王者荣耀 体验服进行停机维护 更新时间 7月9日16 00 18 00 15 30关闭PVP 更新方式 停机更新 更新范围 王者荣耀修炼之地体验服 下
  • 在iPhone/iPad端运行DebianLinux系统【iSH-AOK】

    最后一次更新 2023 4 08 请勿利用文章内的相关技术从事非法测试 由于传播 利用此文所提供的信息而造成的任何直接或者间接的后果及损失 均由使用者本人负责 作者不为此承担任何责任 文章目录 1 前言 2 简介 2 2iSH AOK介绍与
  • es批量修改数组动态增加并去重

    es创建测试的index和type 对应mysql的数据库和表 PUT uniq test idx1 mappings uniq test properties comId type long customerName type keywo
  • Your branch is ahead of 'origin/master' by 2 commits.

    遇到这种问题 表示在你之前已经有2个commit而没有push到远程分支上 所以需要先git push origin 将本地分支提到远程仓库 也可以直接git reset hard HEAD x解决 这里的x表示的就是在这之前已经有多少次的
  • 分享一些你觉得在Linux上顺理成章,换到Windows上就可能令人费解的事

    Linux与Windows都是十分常见的电脑操作系统 相信你对它们二者都有所了解 在你的使用过程中 是否有什么事让你觉得在Linux上顺理成章 换到Windows上就令你费解 亦或者关于这二者你有任何想要分享的 都可以在这里留下你的看法 方
  • PSM倾向得分匹配

    1 简要介绍 我们以 是否上大学 对 收入 的影响为例来说明这个问题 这里 先讲二者的关系设定为如下线性模型 显然 在模型 1 的设定中 我们可能忽略了一些同时影响 解释变量 是否上大学 和 被解释变量 收入 的因素 例如 家庭背景 能力
  • Transformer模型简介

    简介 Transformer 是 Google 团队在 17 年 6 月提出的 NLP 经典之作 由 Ashish Vaswani 等人在 2017 年发表的论文 Attention Is All You Need 中提出 Transfor
  • gitlab分支保护_如何删除gitlab上默认受保护的master主分支

    今天开发在检查代码的时候 发现master分支有问题 现在准备删除此主分支 并且重新提交正确的代码 不过在删除时发现 master分支不能被删除 ps 主分支一般都是线上分支 需要开发确认后并且做好备份才能动 本次是因为master分支已经
  • 使用ngx_log_if模块,对阿里云SLB健康检测产生的大量日志进行过滤处理

    阿里云1000元通用代金券点此领取 最近公司购买了阿里云的SLB服务 健康检测使用的是http和https协议 直接访问web 后端的80端口是nginx 阿里云会按设置的健康检测时间使用get方法 去访问域名下的检查路径 判断web是否存
  • 【ES从入门到实战】十、全文检索-ElasticSearch-进阶-QueryDSL基本使用&match_all

    接第9节 2 Query DSL 在上一节中使用的形如 GET bank search query match all sort account number asc balance desc 的查询语言风格 我们称之为 Query DSL