Elasticsearch系列(一)--入门
一、什么是Elasticsearch:
Elasticsearch基于Lucene构建的开源搜索引擎,Java编写,提供restful API,支持横向拓展,能够完成海量数据处理。
简单理解:
一个能快速搜索大量数据的"智能文件柜"。比如:
在百万本书中瞬间找到包含"人工智能"的书籍
实时统计网站用户最近1小时的活跃度
分析服务器日志中的错误信息
核心特点:
🔍 闪电般的搜索速度
📈 轻松处理海量数据
🛠️ 自带数据分析工具
二、使用场景:
传统数据库的局限:
SELECT * FROM products
WHERE name LIKE '%手机%'
AND price BETWEEN 1000 AND 3000
ORDER BY sales DESC;
数据量超过百万时变慢
无法实现模糊搜索(如"智能手表"匹配"智能手环")
实时统计需要复杂SQL
Elasticsearch的优势:
毫秒级响应千万级数据搜索
支持中文分词、拼音搜索、相似词推荐
内置可视化统计功能
三、核心概念:
| 概念 | 比喻 | 作用说明 |
|---|---|---|
| 索引(Index) | 图书馆的书架 | 存放同类数据(如用户数据、商品数据) |
| 文档(Doc) | 书架上的书 | 一条具体数据(如一件商品信息) |
| 分片(Shard) | 书架的分隔层 | 将大数据分割存储 |
| 副本(Replica) | 备份书架 | 防止数据丢失,提高查询速度 |
四、使用场景:
1、电商搜索:
商品多条件筛选(颜色+价格+品牌)
智能推荐相似商品
2、日志分析:
收集服务器日志
快速定位系统错误
3、应用监控
实时统计用户活跃度
生成运营数据报表
4、不适合的场景:
需要严格事务(如银行转账)
频繁更新数据(如股票交易系统)

浙公网安备 33010602011771号