Elasticsearch 搜索与日志分析完全教程:从安装到做出秒级全文检索

Elasticsearch(简称 ES)是基于 Lucene 的分布式搜索引擎,能做全文检索、日志分析(ELK)、聚合统计。本文带你从零安装、建索引、做搜索和聚合,理解倒排索引原理。

一、原理背景

1.1 为什么不用 MySQL 做搜索

  • MySQL LIKE '%词%' 全表扫,且不支持分词;
  • 模糊匹配、相关度排序、高亮、聚合统计都很弱。

ES 用 倒排索引(Inverted Index):先对文本分词,建立「词 → 文档列表」的映射,查词时直接定位文档,毫秒级返回,并按相关度打分排序。

1.2 核心概念

概念 说明(类比 MySQL)
Index 索引(≈ 库/表)
Document 文档(≈ 行,JSON 格式)
Field 字段(≈ 列)
Mapping 字段类型定义(≈ 表结构)
Analyzer 分词器(中文用 ik_max_word)
Shard 分片,数据水平切分
Query DSL JSON 查询语言

1.3 典型场景

  • 电商/站内搜索;
  • 日志检索与监控(配合 Kibana 做 ELK);
  • 数据聚合分析。

二、分步操作

步骤 1:本地启动(Docker)

docker run 

🔒 付费文档

支付 5 积分后即可解锁全部内容