马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Elasticsearch是什么?
Elasticsearch(简称ES)就像一个“超等智能的图书馆管理体系”,专门帮你从海量数据中快速找到想要的信息。它底层基于倒排索引技能(雷同册本的目次页),能秒级搜索和分析万亿级数据,比如电商商品、日记、用户举动等。
例子
当你在淘宝搜“华为手机”时,ES会刹时从几十亿商品中筛选出干系效果,并按代价、销量排序。
当你的App瓦解了,ES能快速分析日记,定位到详细哪一行代码出标题。
Elasticsearch有什么用?
核心功能
全文搜索:支持暗昧匹配、关键词高亮,比如搜“小米手机”能连带找出“小米充电宝” 。
实时数据分析:统计用户举动(如点击量、转化率),天生实时报表,比传统数据库快几十倍 。
日记管理:主动网络服务器、应用的日记,快速定位故障,还能猜测匿伏标题(比如流量突增预警)。
现实场景
电商:商品搜索、订单分析、用户画像。
金融:交易业务监控 、风险预警、实时对账。
运维:服务器性能监控 、日记排查。
交际:用户动态保举、品评关键词过滤。
Elasticsearch怎么用?
安装与启动
下载安装包:从官网下载ES和Kibana(可视化工具),解压后运行:- # 启动ES(默认端口9200)
- ./bin/elasticsearch
- # 启动Kibana(默认端口5601)
- ./bin/kibana
复制代码 访问 http://localhost:9200 能看ES状态,访问 http://localhost:5601 用Kibana使用数据 。
存数据
创建索引(雷同数据库建表):- PUT /products
- {
- "mappings": {
- "properties": {
- "name": { "type": "text" }, // 可分词搜索
- "price": { "type": "float" },
- "tags": { "type": "keyword" } // 精确匹配(如“华为”)
- }
- }
- }
复制代码 插入数据:- POST /products/_doc/1
- {
- "name": "华为Mate60",
- "price": 6999,
- "tags": ["手机", "5G"]
- }
复制代码 查数据:
简单搜索(找含“华为”的商品):- GET /products/_search
- {
- "query": {
- "match": { "name": "华为" }
- }
- }
复制代码 高级搜索(代价范围+标签过滤):- GET /products/_search
- {
- "query": {
- "bool": {
- "must": [
- { "range": { "price": { "gte": 5000 } } }, // 价格≥5000
- { "term": { "tags": "5G" } } // 标签精确匹配
- ]
- }
- }
- }
复制代码 ** 分析数据**
统计每个标签的商品数量:- GET /products/_search
- {
- "aggs": {
- "tag_count": {
- "terms": { "field": "tags" }
- }
- }
- }
复制代码 注意事项
别当数据库用:
ES善于搜索和分析,但变乱处置处罚弱(比如付出扣款),这类使用还是用MySQL。
硬件要求:
大数据量必要多台服务器构成集群,单机轻易卡死
数据备份:
定期用快照功能备份,防止硬盘故障丢数据。
Elasticsearch是数据界的“闪电侠”,专治搜索慢、分析难、数据量大。
用起来三步走:安装→存数据→写查询。
实用场景:凡是必要“快速找数据”或“实时分析”的地方,比如电商、日记、监控 。
|