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

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

文章目录

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

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


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

1. Term 查询

  • 精确匹配:term 查询用于精确匹配字段的内容,不进行分词。它适用于关键词或精确值的匹配,比如数值、日期、布尔值或者不需要分词的字符串(如ID、邮政编码)。
  • 不分词:如果查询的字段是文本类型,term 查询不会对查询字符串进行分词,而是直接匹配整个词。例如,查询"user":"John Doe"时,它只会匹配整个字段为“John Doe”的文档,而不会匹配包含“John”或“Doe”的文档。

GET /blog_new/_search
{
  "query": {
    "term": {
      "title.keyword": "jstat命令查看jvm的GC信息1"
    }
  },
  "size": 1000 
}

在这里插入图片描述

2. Match 查询

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

在这里插入图片描述

3. 总结

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


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

相关文章:

  • Java的dto,和多表的调用
  • ML 系列: 第 23 节 — 离散概率分布 (多项式分布)
  • 【C#设计模式(8)——过滤器模式(Adapter Pattern)】
  • 天才的懈怠 : 平衡二叉树
  • 超市里的货物架调整(算法解析)|豆包MarsCode AI刷题
  • 笔记 | image may have poor performance,or fail,if run via emulation
  • JavaScript常见知识点总结
  • 搜维尔科技:‌XSENS高精度惯性动作捕捉系统,人形机器人Al训练专用设备
  • 华为HCIP-datacom 真题 (2024年下半年最新题库)
  • Vue + Spring Boot + SQL Server + Python 部署到 Windows 服务器
  • 最长公共子序列
  • 卡牌抽卡机小程序搭建,探索新鲜有趣的拆卡体验
  • 介绍几种常用的排序算法
  • Mysql,sqllite表结构对比
  • xxl-job升级到springboot3.0 导致页面打不开报错)问题
  • 打手机检测算法源码样本展示打手机检测算法实际应用场景介绍
  • 在Windows上用Visual Studio编译Tesseract
  • 什么是单点登录
  • VUE3生命周期钩子
  • 微软在Edge浏览器中引入本地AI模型;苹果将于9月10日发布iPhone 16系列
  • Java 入门指南:初识 Java NIO
  • cmake,make,makefile之间的关系
  • cppbase阶段汇总
  • 零售数字化:基于会员、商品和导购的智能决策
  • 提升你的校招简历:推荐高质量C++项目示例!
  • 【openwrt-21.02】T750 openwrt-21.02 Linux-5.4.238 input子系统----gpio-keys实现分析