ElasticSearch-文档查询

news2024/11/24 9:29:23

目录

一、查询某个索引下的全部文档

二、根据查询条件查询文档

三、分页查询

四、查询指定返回的字段

五、排序

六、多条件查询

七、范围查询

八、全文检索与完全匹


一、查询某个索引下的全部文档

语法:

GET /索引名称/_search
{
  "query": {
    "match_all": {}
  }
}

例子:

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

结果:

二、根据查询条件查询文档

语法如下,使用query,match查询条件。

GET /索引名称/_search
{
  "query": {
    "match": {
      "属性名":"属性值"
    }
  }
}

 例子:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  }
}

结果:

 

三、分页查询

语法:from和size, from表示从第几个开始,size表示查询多少条。from:(页码数-1) * size大小。

例子:以下例子就是从第3页开始,查询2条。

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  },
  "from":4,
  "size": 2
}

结果:

四、查询指定返回的字段

语法:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"查询条件字段值"
    }
  },

  "_source":"返回的字段",
  "from":4,
  "size": 2
}

例子:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  },
  
  "_source":"address",
  "from":4,
  "size": 2
}

结果:

五、排序

语法:这里的age,直接修改age字段即可表示排序字段, sort是固定写法, order是固定写法表示排序的意思,desc表示降序意思。

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"查询条件字段值"
    }
  },
 
  "from":4,
  "size": 2,
  "sort": {
      "age": {
        "order": "desc"
      }
  }
  
}

例子:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  },
 
  "from":4,
  "size": 2,
  "sort": {
      "age": {
        "order": "desc"
      }
  }
  
}

结果:

六、多条件查询

 bool表示查询结果是否满足,固定写法。 must表示must数据里面的查询条件同时成立相当于and查询。如果是must改为should,则表示任意条件满足,相当于or

# 多条件查询同时成立
GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name":"关羽"
          }
        },
         {
          "match": {
            "address":"蜀国荆州2"
          }
        }
      ]
    }
  }
}

例子:

# 多条件查询同时成立
GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name":"关羽"
          }
        },
         {
          "match": {
            "address":"蜀国荆州2"
          }
        }
      ]
    }
  }
}

结果:

 

例子:

# 多条件查询任一满足
GET /es_db1/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "name":"关羽"
          }
        },
         {
          "match": {
            "name":"刘备"
          }
        }
      ]
    }
  }
}

结果:

七、范围查询

语法:

GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
         {
          "match": {
            "查询字段":"字段值"
          }
        }
      ],
      "filter": [
        {
          "range": {
            "查询字段": {
              "gte": 最小值,
              "lte": 最大值
            }
          }
        }
      ]
    }
  }
}

例子:

# 范围查询

GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
         {
          "match": {
            "name":"刘备"
          }
        }
      ],
      "filter": [
        {
          "range": {
            "age": {
              "gte": 10,
              "lte": 50
            }
          }
        }
      ]
    }
  }
}

结果:

八、全文检索与完全匹

在上面的例子都是用match,是全文检索,比如说match“中华人民共和国” 会匹配“中华”,“人民”,“共和国”这三个中的任一一个。如果只想匹配“中华人民共和国”这个关键字而不是上面的三个,则需要把math改成 match_phrase进行完全匹配。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[BJDCTF2020]Easy MD51

拿到题目后就一个空白页面,没啥特别的东西,传入参数也没啥变化 在查看源码无果后在响应头的找到了一份隐藏信息,应该就是页面对应的后端代码,我们提交的数据就是变量$pass的值 PHP中的MD5函数的意思是,将$pass变量的值…

LitCTF2023-部分Reserve复现

目录 一:[LitCTF 2023]snake pyc文件magic修复: pycdc工具转pyc文件为py文件: [LitCTF 2023]enbase64 [LitCTF 2023]ez_XOR [LitCTF 2023]For Aiur 在python38环境中将exe文件反编译为pyc文件 pycdc使用: [LitCTF 2023]程…

iptables防火墙1

iptables防火墙 iptables概述 Linux 系统的防火墙 :IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables组成。 主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上。 netfilter/iptables 关系&#xf…

ADC模数转换器

目录 逐次逼近型ADC 原理图 ADC基本框图​编辑 输入通道 ​编辑 转换模式 ADC触发控制​编辑 数据对齐 ​编辑 采样时间 校准 硬件电路 来源b站江科大stm32入门教程 逐次逼近型ADC 原理图 规则组最好要和DMA一起使用 ADDCLK来自ADC预分频器 ,根据下图看出&…

OpenGL之绘制三角形

目录 OpenGL绘制图形的流程 标准化设备坐标 VAO和VBO VBO(顶点缓冲对象) VBO(顶点缓冲对象)创建流程 VAO(顶点数组对象) 绘制三角形 ​编辑给三角形添加颜色 顶点着色器 片段着色器 编译着色器 使用着色器为三角形添加颜色 OpenGL绘制图形的流程 在OpenGL中&…

二、Django REST Framework (DRF)序列化反序列化

参考: 为什么要学DRF和什么是REST API | 大江狗的博客 上一章: 一、Django REST Framework (DRF)& RESTful 风格api_做测试的喵酱的博客-CSDN博客 一、DRF框架介绍 1.1 介绍 Django REST Framework (DRF)这个神器我们可以快速开发出优秀而且…

基于SpringBoot的网吧管理系统的设计与实现

背景 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&a…

ICR-预测三种医学状况 #$60,000 #Kaggle

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息由AI辅助创作,仅供参考 比赛名称 ICR - Identifying Age-Related Conditions[2] (见文末阅读原…

chatgpt赋能Python-pythonforrange

Python中的Range函数 在Python编程语言中,range()是一个用于生成一系列数字的函数。它可以接受1至3个整型参数:起始值、终止值和步长。生成的数字包括起始值,但不包括终止值。步长默认为1。 Range函数的语法 Python中range()函数的常规语法…

C++视角下的Qt按钮:从基础应用到高级定制

C视角下的Qt按钮:从基础应用到高级定制 一、Qt按钮基础 (Qt Button Basics)1.1 Qt按钮的定义与创建 (Definition and Creation of Qt Buttons)1.2 Qt按钮的属性 (Properties of Qt Buttons)文本 (Text)图标 (Icon)大小 (Size)样式 (Style)是否可用 (Enabled) 1.3 Qt…

Java【TCP 协议3】提高效率的五大机制

文章目录 前言一、滑动窗口与高速重传1, 什么是滑动窗口2, 什么是高速重传2.1, ack 丢包2.2, 数据丢包 二、流量控制1, 什么是流量控制 三、拥塞控制1, 什么是拥塞控制 四、延迟应答1, 什么是延迟应答 五、捎带应答1, 什么是捎带应答 总结 前言 各位读者好, 我是小陈, 这是我的…

JavaScript实现1-100之间所有的素数的代码

以下为实现1-100之间所有的素数的程序代码和运行截图 目录 前言 一、1-100之间所有的素数 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择,您可以在目录里进行快速查找; 2.本博文代码可以根据题目要求实现…

防火墙(二)

进一步了解防火墙 一、SNAT原理与应用模拟实验 二、DNAT的原理与应用模拟实验 三、抓包四、防火墙规则的备份和还原 一、SNAT原理与应用 SNAT应用环境:局域网主机共享单个公网IP地址接入Internet(私有不能早Internet中正常路由) SNAT原理&am…

【2023 · CANN训练营第一季】新手班 昇腾AI入门课(PyTorch)

1 昇腾AI全栈架构 昇腾计算产业是基于昇腾系列处理器和基础软件构睫的全栈Al计算基础设施.行业应用及服务,包括昇腾系列处理器、Atlas系列硬件、CANN (Compute Architecture for Neural Networks,异构计算架构》、Al计算框架、应用使能、全流…

nRF52832 定时器REPEATED模式,导致异常重启的问题排查全过程

文章目录 一、遇到问题二、JLink连接时,无法复现三、查看日志四、回退改动五、解决问题六、问题剖析 一、遇到问题 nRF52832项目增加一个功能,自测没问题就发出去了。结果300台机器,有7台出现异常,无法正常使用。细看了一遍提价上…

论文阅读_音频生成_AudioLM

论文信息 name_en: AudioLM: a Language Modeling Approach to Audio Generation name_ch: AudioLM:一种音频生成的语言建模方法 paper_addr: http://arxiv.org/abs/2209.03143 doi: https://doi.org/10.48550/arXiv.2209.03143 date_read: 2023-04-25 date_publis…

打开数据结构大门——实现小小顺序表

文章目录 前言顺序表的概念及分类搭建项目(Seqlist):apple:搭建一个顺序表结构&&定义所需头文件&&函数:banana:初始化:pear:打印:watermelon:数据个数:smile:检查容量:fireworks:判空:tea:在尾部插入数据:tomato:在尾部删除数据:lemon:在…

封装Appium启动参数,提高自动化测试效率的关键

目录 前言: 一、开发环境搭建 二、代码实现 1.导入Appium相关的库文件。 2.创建Appium的启动参数对象,并设置相关参数。 3.启动测试服务。 4.执行测试用例。 5.结束测试服务。 三、总结 前言: Appium是一款广泛使用的自动化测试工具…

Microsoft Office 2007的安装

哈喽,大家好。今天一起学习的是office2007的安装,有兴趣的小伙伴也可以来一起试试手。 一、测试演示参数 演示操作系统:Windows 7 不建议win10及以上操作系统使用 系统类型:64位 演示版本:cn_office_ultimate_2007_D…

从 SIEM 到下一代 SIEM 的演变

在此文中,我们详细介绍了下一代 SIEM 的演变。传统的 SIEM 主要用于提高网络可见性和网络安全性,同时支持合规性。它们跨应用程序、网络和系统摄取、收集和存储日志数据。 SIEM 使捕获和搜索数据变得更加容易,这些数据有助于组织进行审计、取…