当前位置: 首页 > 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.dtcms.com/a/566176.html

相关文章:

  • 个人网站备案不能盈利东莞常平镇地图全图
  • 生物医药业销售管理软件推荐
  • 东莞网站建设seo优化华能电子商务平台
  • Python循环嵌套
  • 深入 Lua 元表与元方法
  • 做外贸要看哪些网站好网站营销的优缺点
  • k8s node节点操作
  • 河北建设网站首页网站ui标准
  • Java 线程池深度解析:原理、实战与性能优化​
  • 医疗网站有哪些教你如何建设一个模板网站
  • 宁波网站建设方案咨询做网站网络合同
  • 网站建设与网络推广的关系wordpress 首页显示文章数量
  • 《uni-app跨平台开发完全指南》- 01 - uni-app介绍与环境搭建
  • 服装公司网站设计网站推广的方法枫子
  • 【openGauss】谈一谈PostgreSQL及openGauss中的package
  • 做网站代理以下区域不属于官方网站
  • 找人帮你做ppt的网站吗国内网站建设阿里云
  • 数据库快速复习【基础篇】
  • flink 在技术架构中的配套服务
  • 如何做中英版网站哪些网站可以找兼职做室内设计
  • 银河麒麟桌面版V10SP1下载安装包并离线安装
  • C#中Winform开发限制同一窗口打开一次的方法
  • 可以在线做c语言的网站如何查网站空间大小
  • 怎样在网站上做超链接wordpress 图片 分离
  • KP4050LGA副边同步整流芯片典型应用电路
  • UNet++
  • git多个账号管理
  • 网站后台怎么打开北京网站优化wyhseo
  • 永州市住房和城乡建设局网站下载小程序
  • OSI网络模型(通信方向)