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

ES查询语法总结 - 教程

文章目录

      • 一、全文检索查询
      • 二、精确查询
      • 三、复合查询
      • 四、特殊查询
      • 五、其他功能示例
      • 六、关键注意事项

一、全文检索查询

  1. Match Query
    搜索分词后的文本字段(如 text 类型):

    GET /products/_search
    {"query": {"match": {"description": "wireless headphones"}}
    }
    • 自动对 "wireless headphones" 分词(如拆为 wirelessheadphones),匹配任一词汇的文档。
  2. Multi-match Query
    跨多个字段搜索:

    {"query": {"multi_match": {"query": "apple","fields": ["title", "brand", "description"]}}
    }

二、精确查询

  1. Term Query
    精确匹配未分词的 keyword 字段:

    {"query": {"term": {"status": {"value": "published"  // 精确匹配字段值}}}
    }
  2. Terms Query
    匹配字段中包含任一指定值的文档:

    {"query": {"terms": {"tags": ["electronics", "sale"]  // 匹配含 electronics 或 sale 的文档}}
    }
  3. Range Query
    数值或日期范围过滤:

    {"query": {"range": {"price": {"gte": 100,"lte": 1000}}}
    }
  4. Exists Query
    筛选存在某字段的文档:

    {"query": {"exists": {"field": "author"  // 返回包含 author 字段的文档}}
    }

三、复合查询

  1. Bool Query 组合逻辑条件(AND/OR/NOT):

    {"query": {"bool": {"must": [  // 必须满足{ "match": { "title": "phone" } },{ "range": { "price": { "lte": 500 } } }],"must_not": [  // 必须不满足{ "term": { "brand": "A" } }],"should": [  // 满足任意一个{ "term": { "color": "black" } },{ "term": { "color": "silver" } }],"minimum_should_match": 1,  // 至少满足 1 个 should 条件"filter": [  // 过滤,不参与评分{ "term": { "in_stock": true } }]}}
    }

四、特殊查询

  1. Match_all Query
    匹配所有文档:

    {"query": {"match_all": {}}
    }
  2. Wildcard Query
    通配符匹配(* 匹配任意字符,? 匹配单个字符):

    {"query": {"wildcard": {"sku": "pro-*"  // 匹配 pro-123, pro-abc 等}}
    }
  3. Prefix Query
    前缀匹配:

    {"query": {"prefix": {"city": "new"  // 匹配 new york, new delhi 等}}
    }
  4. Fuzzy Query
    容错匹配(允许拼写错误):

    {"query": {"fuzzy": {"text": {"value": "quick","fuzziness": "AUTO"  // 自动允许 1-2 个字符的差异}}}
    }

五、其他功能示例

  1. 分页与排序

    {"query": { "match_all": {} },"from": 10,  // 跳过前 10 条"size": 5,   // 返回 5 条结果"sort": [{ "price": { "order": "desc" } }  // 按价格降序排序]
    }
  2. 高亮匹配内容

    {"query": {"match": { "content": "Elasticsearch" }},"highlight": {"fields": {"content": {}  // 高亮 content 字段中的匹配词}}
    }

六、关键注意事项

  • 默认返回 10 条数据:在未显式设置 size 参数时,Elasticsearch 的 search 查询默认仅返回匹配结果的前 10 条记录。
  • 字段类型term 适用于 keyword 类型,match 适用于 text 类型。
  • 性能:优先用 filter 替代 must 进行精确过滤(如状态、时间范围),减少评分计算。
http://www.jsqmd.com/news/332007/

相关文章:

  • 2026年比较好的石英玻璃/石英舟厂家最新推荐排行榜
  • d6
  • 校园O2O超市系统设计与实现 开题报告
  • 2026年口碑好的服装收银软件/店铺收银软件人气排行榜
  • 2026年陕西营销策划公司专项甄选报告:头部优质机构全景梳理及专业选型指南
  • 2026年宁夏营销策划公司权威测评报告:基于百家客户匿名反馈的口碑深度解析
  • 1月学习机榜单|热门机型实测对比,选对一台,助力全年高效学
  • 2026年陕西营销策划公司专项测评及排名报告:权威选型指引
  • 2026年比较好的5182铝卷/5754铝卷厂家选购指南与推荐
  • testMD
  • 2026年质量好的UL1015电线/云母绕包电线厂家热销推荐榜(最新热卖)
  • 2026年质量好的索道钢丝绳检测/智能钢丝绳检测厂家推荐及选购参考榜
  • 深入浅出C++内联函数与引用变量:提升程序性能的关键利器
  • 2026年评价高的光伏安装机器人/具身智能机器人最新TOP厂家排名
  • Spring Boot 中的日志配置
  • 2026年陕西营销策划公司推荐:数字化转型趋势评测,涵盖本地化与线上化场景痛点
  • 2026年口碑好的矿山钻裂一体机/机载式岩石钻裂一体机厂家最新用户好评榜
  • 2026年陕西营销策划公司推荐与排名:基于多场景实战评测,解决增长乏力与获客成本高昂痛点
  • 开题报告 蔬菜水果在线销售网站的设计与实现
  • Spring Boot Actuator
  • 技术演进中的开发沉思-348:高效并发(中-2)
  • 使用原有的index mapping创建新的index
  • 【Linux操作系统06】深入理解权限掩码与粘滞位
  • 2026年宁夏营销策划公司推荐与评测:全域智能时代下的区域增长伙伴选择
  • 计算机毕设Java基于Java的超市收银管理系统 基于Java技术的超市收银信息化管理平台设计与实现 Java驱动的超市收银管理系统开发与应用研究
  • 2026年热门的盾构机/岩石盾构机厂家选购指南与推荐
  • 技术演进中的开发沉思-349:高效并发(下)
  • 学生信息管理系统 论文
  • 2026年宁夏营销策划公司专项甄选报告:头部优质机构全景梳理及专业选型指南
  • 人工智能毕业设计新颖的方向帮助