-
bbianji8 用户
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