配置项作用 #
node.search.cache.size 配置项控制节点上用于缓存搜索结果的内存大小。
是否可选 #
是
默认值 #
100mb
配置项类型 #
静态配置 - 需要重启节点才能生效
配置格式 #
# 默认配置
node.search.cache.size: 100mb
# 增加缓存
node.search.cache.size: 200mb
# 减少缓存
node.search.cache.size: 50mb
工作原理 #
搜索缓存用于缓存查询结果:
┌─────────────────────────────────────────────────────────┐
│ 搜索缓存 │
└─────────────────────────────────────────────────────────┘
相同查询请求
│
▼
检查缓存
│
├── 缓存命中 → 返回缓存结果
│
└── 缓存未命中
│
├── 执行搜索
├── 缓存结果
└── 返回结果
推荐设置 #
| 环境 | 推荐值 | 说明 |
|---|---|---|
| 默认配置 | 100mb | 适用于大多数场景 |
| 高查询负载 | 200-500mb | 提高缓存命中率 |
| 内存受限 | 50mb | 减少内存使用 |
| 大堆内存 | 500mb-1gb | 充分利用内存 |
使用示例 #
默认配置:
node.search.cache.size: 100mb
高查询负载:
node.search.cache.size: 500mb
配置验证 #
# 查看当前配置
GET /_nodes/settings?filter_path=nodes.*.node.search.cache.size
# 查看缓存使用情况
GET /_nodes/stats/indices/search?filter_path=**.cache
注意事项 #
- 静态配置:修改需要重启节点
- 内存占用:缓存占用 JVM 堆内存
- 命中率:应根据实际查询模式调整
- 缓存失效:数据更新时缓存会失效
相关配置项 #
| 配置项 | 默认值 | 说明 |
|---|---|---|
indices.queries.cache.size | 10% | 索引级查询缓存 |
完整配置示例 #
# easysearch.yml
# 高查询负载配置
node.search.cache.size: 500mb
indices.queries.cache.size: 15%





