Range 与 Bool 查询
Elasticsearch 查询 DSL 提供了丰富的查询类型,其中 Range 查询用于范围筛选,Bool 查询支持多条件逻辑组合,是构建复杂查询的基础。
1. Range 查询
用于筛选字段值在指定范围内的文档,支持数值、日期等类型。
示例:数值范围查询
GET /my-index/_search
{
"query": {
"range": {
"price": {
"gte": 10,
"lte": 100
}
}
}
}
`
常用参数
gte:大于等于(greater than or equal)lte:小于等于(less than or equal)gt:大于(greater than)lt:小于(less than)
2. Bool 查询
用于组合多个查询条件,支持以下逻辑:
must:必须匹配(AND)should:可选匹配(OR),至少一个匹配must_not:必须不匹配(NOT)filter:过滤条件,不影响评分
示例:复杂条件组合
GET /my-index/_search
{
"query": {
"bool": {
"must": [
{ "match": { "category": "电子产品" } },
{ "range": { "price": { "lte": 500 } } }
],
"must_not": [
{ "term": { "status": "下架" } }
]
}
}
}
Range 和 Bool 查询的结合使用,可以满足绝大多数复杂搜索场景,实现精确且灵活的筛选条件。
相关内容
- 定义与用途 本章介绍 Elasticsearch 的定义、核心功能与适用场景,帮助读者理解它为何成为现代搜索与日志分析的首选解决方案。
- 使用场景 本章总结 Elasticsearch 在全文搜索、日志分析、监控告警、推荐系统等领域的典型应用场景,助力理解其强大用途。
- 核心概念简介 本章概览 Elasticsearch 的核心构成,包括索引、文档、映射、节点、集群等关键概念,为后续使用和架构设计打下基础。
- 本地安装 本章介绍如何在本地环境中安装 Elasticsearch,适配 Windows、macOS 和 Linux 系统,便于开发测试与入门学习。
- Docker 安装 本章讲解如何通过 Docker 安装和运行 Elasticsearch,适合开发者快速搭建测试环境并集成至容器化工作流中。
- 与 Kibana 一起部署 本章介绍如何将 Elasticsearch 与 Kibana 一起部署,使用 Docker Compose 快速构建可视化分析平台,适合开发与测试环境使用。