Elasticsearch 性能优化与监控指南
1. 分片请求缓存
分片请求缓存的目的是缓存聚合、建议器结果和命中数量(它不会缓存返回的文档,因此仅适用于size=0的情况)。当查询使用聚合或建议时,启用此缓存(默认情况下是禁用的)是个不错的选择,这样 Elasticsearch 可以重用存储在其中的数据。该缓存的优点是能保证与未缓存的搜索具有相同的近实时搜索性能。
操作步骤
- 启用分片请求缓存:在相关配置中进行设置。
- 缓存使用:当查询满足条件时,自动使用缓存数据。
2. 查询优化
2.1 思考查询结构
在设计或优化查询时,应始终考虑最优查询结构和过滤器的使用。例如,对于以下查询:
{ "query": { "bool": { "must": [ { "query_string": { "query": "mastering AND department:it AND category:book", "default_field": "name" } }, { "term": {