---

title: Elasticsearch 索引与查询优化实战

keywords:

  • Elasticsearch
  • 索引
  • 映射
  • 分片
  • 查询优化

description: 从索引与映射到查询与聚合的优化方法,提供可执行的设置与查询示例。

tags:

  • Elasticsearch
  • 分片
  • 搜索
  • 数据库
  • 映射
  • 查询优化
  • 索引

categories:

  • 文章资讯
  • 技术教程

---

Elasticsearch 索引与查询优化实战

索引与映射示例

PUT /articles
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "title": { "type": "text" },
      "tags":  { "type": "keyword" },
      "created_at": { "type": "date" }
    }
  }
}

查询与聚合示例

POST /articles/_search
{
  "query": {
    "bool": {
      "must": [ { "match": { "title": "性能优化" } } ],
      "filter": [ { "terms": { "tags": ["前端","优化"] } } ]
    }
  },
  "aggs": { "by_tag": { "terms": { "field": "tags" } } },
  "size": 10
}

优化要点

  • 为精确匹配字段使用 keyword 类型
  • 控制 size 与返回字段,避免不必要的负载
  • 使用聚合进行统计,避免客户端进行二次汇总

维护与监控

  • 通过 GET /_cluster/health 观察集群状态与分片数量
  • 对高频更新索引定期执行 FORCE MERGE 与刷新策略评估

总结

合理的映射与查询结构可显著提升检索性能与可维护性,结合聚合实现实时统计与分析。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部