Elasticsearch 中,term 查询和 match 查询的区别

文章目录

  • 前言
    • [Elasticsearch 中,term 查询和 match 查询的区别](#Elasticsearch 中,term 查询和 match 查询的区别)
      • [1. Term 查询](#1. Term 查询)
      • [2. Match 查询](#2. Match 查询)
      • [3. 总结](#3. 总结)

前言

如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。

而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


Elasticsearch 中,term 查询和 match 查询的区别

1. Term 查询

  • 精确匹配:term 查询用于精确匹配字段的内容,不进行分词。它适用于关键词或精确值的匹配,比如数值、日期、布尔值或者不需要分词的字符串(如ID、邮政编码)。
  • 不分词:如果查询的字段是文本类型,term 查询不会对查询字符串进行分词,而是直接匹配整个词。例如,查询"user":"John Doe"时,它只会匹配整个字段为"John Doe"的文档,而不会匹配包含"John"或"Doe"的文档。
bash 复制代码
GET /blog_new/_search
{
  "query": {
    "term": {
      "title.keyword": "jstat命令查看jvm的GC信息1"
    }
  },
  "size": 1000 
}

2. Match 查询

  • 全文检索:match 查询用于全文检索,它会对查询的文本进行分词,然后搜索这些分词的匹配。适用于自然语言文本的搜索。
  • 分词匹配:对于文本类型的字段,match 查询会将输入的字符串分成多个词条,然后搜索与这些词条匹配的文档。例如,查询"user":"John Doe"时,它会将字符串分词为"John"和"Doe",然后搜索包含这两个词的文档。
bash 复制代码
GET /blog_new/_search
{
  "query": {
    "match": {
      "title": "jstat命令查看jvm的GC信息1"
    }
  },
  "size": 1000 
}

3. 总结

如果需要精确匹配某个值,应该使用term查询。

如果需要进行全文搜索或模糊匹配,应该使用match查询。

相关推荐
唐可盐16 分钟前
【数据治理实践】第 10 期:数据时代的导航——数据目录
大数据·人工智能·数据治理·数字化转型·数据资产·数据资产入表
智链RFID1 小时前
当企业运营遇到瓶颈:RFID 为什么越来越被采用?
大数据·网络·人工智能·科技·rfid
Data-Miner1 小时前
50页可编辑PPT | 某大数据资产平台建设项目启动会材料
大数据
尽兴-1 小时前
Spring Boot 整合 Elasticsearch 8.x 实战总结(含三种实现方式 + 完整示例)
spring boot·elasticsearch·jenkins
旺仔Sec1 小时前
2026江苏省职业院校技能大赛新一代信息技术赛道大数据应用开发项目样题
大数据·数据挖掘
运营小白2 小时前
SEO 工具进阶拆解:SEONIB 批量分发至 WordPress,如何把博客变成“自动运转的内容工厂”?
人工智能·经验分享·搜索引擎·自动化·ai自动写作
wx_xkq12882 小时前
营销智脑V3企业级AI平台架构设计:优秘智能完成从单点工具到全链路生态布局
大数据·人工智能
2601_955363152 小时前
技术赋能B端拓客:号码核验行业的革新与价值重构,氪迹科技法人,股东号码筛选系统,阶梯式价格
大数据·人工智能·重构
大大大大晴天️2 小时前
大数据实时计算-反压机制剖析
大数据·flink·spark streaming
zxsz_com_cn2 小时前
设备预测性维护数据采集方案设计
大数据