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