ElasticSearch 性能优化教程
ES 优化
索引优化:
- 映射(Mapping):合理设计索引映射,避免使用动态映射,并为每个字段明确指定数据类型。
- 字段类型:对于不需要全文搜索的字段,使用
keyword类型而非text类型。 - 合并(Merging):通过配置
index.merge参数优化段合并,以减少 I/O 开销。 - 刷新间隔:调整
index.refresh_interval参数,减少刷新频率以提高写入性能(默认是 1 秒,可以根据实际需要调整)。
查询优化:
- 缓存:利用 ES 的节点查询缓存和过滤器缓存来加速常见查询。
- 分片首选项:设置
preference参数来避免每次查询都访问不同的副本,从而提高缓存命中率。 - 分页:避免深分页,使用
search_after或scroll来处理大量结果集。
