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、不适合的场景:

需要严格事务(如银行转账)
频繁更新数据(如股票交易系统)

posted @ 2019-08-02 13:17  Diamond-Shine  阅读(513)  评论(0)    收藏  举报