当前位置: 首页 > article >正文

【2】Elasticsearch 查询从基础到高级

文章目录

    • 一、引言
    • 二、常用查询方式
      • (一)简单查询
      • (二)聚合查询
      • (三)复杂查询
    • 三、查询关键词
      • (一)比较关键词
      • (二)逻辑关键词
      • (三)其他关键词
    • 四、常用统计类查询
      • (一)计数统计
      • (二)平均值统计
    • 五、总结

一、引言

Elasticsearch是一款强大的分布式搜索和分析引擎,在数据检索和分析领域有着广泛的应用。掌握其查询方式是充分发挥Elasticsearch功能的关键,本文将详细介绍ES的常用查询方式。

二、常用查询方式

(一)简单查询

  1. match查询
    • 原理与应用场景:match查询会对查询条件进行分词处理。适用于全文搜索,例如在文章内容字段中查找包含特定关键词的文档。
    • demo
{
   
    "query": {
   
        "match": {
   
            "article_content": "数据分析"
        }
    }
}

在上述示例中,我们在article_content字段中查找包含“数据分析”的文档。Elasticsearch会将“数据分析”分词为“数据”和“分析”,然后查找包含这两个词的文档。
2. term查询

  • 原理与应用场景:term查询是精确匹配,不会对查询词进行分词。常用于查询结构化数据,如数字、日期、布尔值等。
  • demo
{
   
    "query": {
   
        "term": {
   
            "status": "active"
        }
    }
}

这里查询status字段精确为“active”的文档。如果status是一个未分词的字段,如布尔值或特定编码值,term查询能准确找到匹配项。

(二)聚合查询

  1. 分组(terms聚合)
    • 功能与应用场景:terms聚合用于对某个字段进行分组统计。例如,统计不同类别产品的数量。
    • demo
{
   
    "size": 0,
    "aggs": {
   
        &

http://www.kler.cn/a/377972.html

相关文章:

  • 【Linux】从零开始使用多路转接IO --- epoll
  • Spring Boot 注解大全:全面解析 Spring Boot 常用注解及其应用场景
  • Redis 初学者指南
  • VS code SSH设置多个远程连接免登录
  • 科研绘图系列:R语言组合连线图和箱线图(linechart+boxplot)
  • ES + SkyWalking + Spring Boot:日志分析与服务监控(三)
  • jsweb2
  • Java实现动态切换ubuntu壁纸功能
  • 自定义日志打成jar包引入项目后不生效
  • 3D Gaussian Splatting 入门
  • 8.5K+ Star!Skyvern:一个基于LLMs和计算机视觉自动化浏览器工作流的工具
  • Day 41 || 1049. 最后一块石头的重量 II 、494. 目标和、474.一和零
  • 机器学习之fetch_olivetti_faces人脸识别--基于Python实现
  • 数据智能驱动金融策略优化:民锋智能分析技术的应用
  • 深度学习-38-基于PyTorch的卷积神经网络AlexNet
  • 【Java笔记】1-JDK/JRE/JVM是个啥?
  • Golang | Leetcode Golang题解之第518题零钱兑换II
  • pgsql数据量大之后可能遇到的问题
  • SpringCloudAlibaba实战入门之OpenFeign高级用法(十)
  • 数据结构-二叉树中的递归
  • [每周一更]-(第121期):模拟面试|微服务架构面试思路解析
  • 虚函数和纯虚函数是 C++ 中实现多态性的关键概念
  • 【算法笔记】位运算算法原理深度剖析
  • 单向函数、单向陷门函数、困难问题
  • PHP的 CSRF、XSS 攻击和防范
  • promise的catch放在then前面的场景