es 吗 查询必须有sort_Elasticsearch 查询语法

es 吗 查询必须有sort_Elasticsearch 查询语法通过 ES 查询表达式 QueryDSL 可以实现复杂的查询功能 ES 查询表达式主要由 JSON 格式编写 可以灵活的组合各种查询语句 提示 本章先介绍基本的语法结构 后续的章节单独讲解具体的查询语法 1 查询基本语法结构 GET 索引名 search from 0 返回搜索结果的开始位置 size 10 分页大小 一次返回多少数据 source

通过ES查询表达式(Query DSL),可以实现复杂的查询功能,ES查询表达式主要由JSON格式编写,可以灵活的组合各种查询语句。

提示:本章先介绍基本的语法结构,后续的章节单独讲解具体的查询语法。

1.查询基本语法结构

GET /{索引名}/_search

{

“from” : 0, // 返回搜索结果的开始位置

“size” : 10, // 分页大小,一次返回多少数据

“_source” :[ …需要返回的字段数组… ],

“query” : { …query子句… },

“aggs” : { ..aggs子句.. },

“sort” : { ..sort子句.. }

}

{索引名},支持支持一次搜索多个索引,多个索引使用逗号分隔,例子:

GET /order1,order2/_search

按前缀匹配索引名:

GET /order*/_search

搜索索引名以order开头的索引。

查询结果格式:

当我们执行查询语句,返回的JSON数据格式如下

{

“took” : 5, // 查询消耗时间,单位毫秒

“timed_out” : false, // 查询是否超时

“_shards” : { // 本次查询参与的ES分片信息,查询中参与分片的总数,以及这些分片成功了多少个失败了多少个

“total” : 1,

“successful” : 1,

“skipped” : 0,

“failed” : 0

},

“hits” : { // hits字段包含我们搜索匹配的结果

“total” : { // 匹配到的文档总数

“value” : 1, // 找到1个文档

“relation” : “eq”

},

“max_score” : 1.0, // 匹配到的最大分值

“hits” : [

// 这里就是我们具体的搜索结果,是一个JSON文档数组

]

}

}

2.query子句

query子句主要用来编写类似SQL的Where语句,支持布尔查询(and/or)、IN、全文搜索、模糊匹配、范围查询(大于小于)。

3.aggs子句

aggs子句,主要用来编写统计分析语句,类似SQL的group by语句

4.sort子句

sort子句,用来设置排序条件,类似SQL的order by语句

5.ES查询分页

ES查询的分页主要通过from和size参数设置,类似MYSQL 的limit和offset语句

例子:

GET /order_v2/_search

{

“from”: 0,

“size”: 20,

“query”: {

“match_all”: {}

}

}

查询所有数据,从第0条数据开始,一次返回20条数据。

6. _source

_source用于设置查询结果返回什么字段,类似Select语句后面指定字段。

例子:

GET /order_v2/_search

{

“_source”: [“order_no”,”shop_id”],

“query”: {

“match_all”: {}

}

}

仅返回,order_no和shop_id字段。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224967.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午10:27
下一篇 2026年3月17日 上午10:27


相关推荐

  • HTML的<noscript>标签有什么作用?

    HTML的<noscript>标签有什么作用?今天准备学习搭建 React 脚手架的时候 再次遇到了 noscript 标签 这个标签很久之前遇到的了 如今再次碰到那就要好好的了解这个标签 因为早期的浏览器并不 noscript 标签是一个相当古老的标签 其被引入的最初目的是帮助老旧浏览器的平滑升级更替 因为早期的浏览器并不能支持 JavaScript noscript 标签在不支持 JavaScript 的浏览器中显示替代的内容 这个元素可以包含任何 HTML 元素 这个标签的用法也非常简单 noscript

    2026年3月17日
    2
  • html css is图片,isbackground

    html css is图片,isbackgroundisbackground有何作用首先不是为了多线程而多线程,多线程会极大的带来额外的出错的几率。C#中第一个打开窗口的线程是主线程,也是处理UI的线程,最好保持这个线程通畅,即不要有阻塞操作,如Thread.Sleep(10);等这样是不好的。耗时的线程需要打开新的线程来操作。c#可以使用多少个Thread.IsBackground=true我现在有一个程序,有UDP/TCP/US…

    2022年10月16日
    3
  • PAD SET_pthread_join函数

    PAD SET_pthread_join函数padStart()方法,padEnd()方法ES2017引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。’x’.padStart(5,’ab’)//’ababx”x’.padStart(4,’ab’)//’abax”x’.padEnd(5,’ab’)//’xabab”x’.pad

    2025年10月17日
    9
  • vsftpd安装包下载_vsftp搭建

    vsftpd安装包下载_vsftp搭建1、在profile文件中设置相关环境变量,允许使用代理上网,如果能联网则不需要配置主要为了能够使用第一种安装方式,如果不可行则可以使用第二种安装方式vi/etc/profile##在文件中加上以下配置信息,该配置为代理服务器地址,根据实际情况定义,该服务器地址必须可联网exporthttp_proxy=http://192.168.1.1:3128exporthttps_pro…

    2026年3月10日
    7
  • pytest skipif_pytest不是内部或外部命令

    pytest skipif_pytest不是内部或外部命令前言pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能Skip和xfail:处理那些不会成功的测试用例你可以对那些在某些特定平台上不能运行的测试用

    2022年7月30日
    14
  • Emacs中的文件比较与合并工具–Ediff

    Emacs中的文件比较与合并工具–Ediff

    2021年8月27日
    137

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号