Match / Term 查询
Elasticsearch 提供多种查询类型,Match 和 Term 查询是最基础也是最常用的两种。理解它们的区别,有助于设计准确高效的搜索请求。
1. Match 查询
- 用于全文检索,对字段内容进行分词后匹配
- 支持模糊匹配、分析器处理
- 适合搜索自然语言文本
示例
GET /my-index/_search
{
"query": {
"match": {
"content": "快速学习 Elasticsearch"
}
}
}
`
2. Term 查询
- 精确匹配查询,不做分词处理
- 用于查找确切值,如关键词、ID、状态等
- 适合过滤条件或精确查找
示例
GET /my-index/_search
{
"query": {
"term": {
"status": "published"
}
}
}
3. 主要区别总结
| 特性 | Match 查询 | Term 查询 |
|---|---|---|
| 是否分词 | 是 | 否 |
| 适用字段类型 | 文本(text) | 关键字(keyword)、数字 |
| 用途 | 全文搜索,模糊匹配 | 精确值匹配 |
合理选择 Match 或 Term 查询,能有效提升搜索的准确性和性能表现。
相关内容
- 定义与用途 本章介绍 Elasticsearch 的定义、核心功能与适用场景,帮助读者理解它为何成为现代搜索与日志分析的首选解决方案。
- 使用场景 本章总结 Elasticsearch 在全文搜索、日志分析、监控告警、推荐系统等领域的典型应用场景,助力理解其强大用途。
- 核心概念简介 本章概览 Elasticsearch 的核心构成,包括索引、文档、映射、节点、集群等关键概念,为后续使用和架构设计打下基础。
- 本地安装 本章介绍如何在本地环境中安装 Elasticsearch,适配 Windows、macOS 和 Linux 系统,便于开发测试与入门学习。
- Docker 安装 本章讲解如何通过 Docker 安装和运行 Elasticsearch,适合开发者快速搭建测试环境并集成至容器化工作流中。
- 与 Kibana 一起部署 本章介绍如何将 Elasticsearch 与 Kibana 一起部署,使用 Docker Compose 快速构建可视化分析平台,适合开发与测试环境使用。