📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

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

注意事项 #

  1. 静态配置:修改需要重启节点
  2. 内存占用:缓存占用 JVM 堆内存
  3. 命中率:应根据实际查询模式调整
  4. 缓存失效:数据更新时缓存会失效

相关配置项 #

配置项默认值说明
indices.queries.cache.size10%索引级查询缓存

完整配置示例 #

# easysearch.yml

# 高查询负载配置
node.search.cache.size: 500mb
indices.queries.cache.size: 15%