ElasticSearch学习笔记(一)—ElasticSearch介绍

Elasticsearch是一款实时分布式搜索和分析引擎,适用于全文搜索、结构化搜索及数据分析。基于Apache Lucene,它能处理PB级数据,支持RESTful API及多种语言客户端。广泛应用于日志分析、全文检索、实时搜索等领域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

Elasticsearch是一个实时分布式搜索和分析引擎 ,它用于全文搜索、 结构化搜索、 分析

Elasticsearch基于Apache Lucene™

Lucene可以被认为是迄今为止最先进、 性能最好的、 功能最全的搜索引擎库

  • 分布式的实时文件存储, 每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎
  • 可以扩展到上百台服务器, 处理PB级结构化或非结构化数据

应用简单的 RESTful API 、 各种语言的客户端甚至命令行与之交互

二、Elasticsearch的功能

(1)分布式的搜索引擎和数据分析引擎
搜索:百度,网站的站内搜索,IT系统的检索
数据分析:电商网站,最近7天牙膏这种商品销量排名前10的商家有哪些;新闻网站,最近1个月访问量排名前3的新闻版块是哪些
分布式,搜索,数据分析

(2)全文检索,结构化检索,数据分析

全文检索:我想搜索商品名称包含牙膏的商品,select * from products where product_name like “%牙膏%”

结构化检索:我想搜索商品分类为日化用品的商品都有哪些,select * from products where category_id=‘日化用品’

部分匹配、自动完成、搜索纠错、搜索推荐

数据分析:我们分析每一个商品分类下有多少个商品,select category_id,count(*) from products group by category_id

(3)对海量数据进行近实时的处理

分布式:ES自动可以将海量数据分散到多台服务器上去存储和检索
海联数据的处理:分布式以后,就可以采用大量的服务器去存储和检索数据,自然而然就可以实现海量数据的处理了
近实时:检索个数据要花费1小时(这就不要近实时,离线批处理,batch-processing);在秒级别对数据进行搜索和分析

跟分布式/海量数据相反的:lucene,单机应用,只能在单台服务器上使用,最多只能处理单台服务器可以处理的数据量

三、具体使用场景

  • 维基百科使用Elasticsearch提供全文搜索并高亮关键字, 以及输入实时搜索(search-as-you-type)和搜索纠错(did-youmean)等搜索建议功能
  • 英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反馈, 以便及时了解公众对新发表
    的文章的回应
  • StackOverflow结合全文搜索与地理位置查询, 以及more-like-this功能来找到相关的问题和答案
  • Github使用Elasticsearch检索1300亿行的代码
  • 日志数据分析,logstash采集日志,ES进行复杂的数据分析(ELK技术,elasticsearch+logstash+kibana)
  • BI系统,商业智能,Business Intelligence。比如说有个大型商场集团,BI,分析一下某某区域最近3年的用户消费金额的趋势以及用户群体的组成构成,产出相关的数张报表,**区,最近3年,每年消费金额呈现100%的增长,而且用户群体85%是高级白领,开一个新商场。ES执行数据分析和挖掘,Kibana进行数据可视化

四、与数据库对比

数据库:大部分数据库在提取可用知识方面显得异常无能

  • 不能能够进行全文搜索, 处理同义词和根据相关性给文档打分
  • 不能根据同一份数据生成分析和聚合的结果
  • 没有大量工作进程(线程) 的情况下不能做到对数据的实时处理
  • 不能做到海量数据的近实时处理
  • Elasticsearch作为传统数据库的一个补充,提供了数据库所不不能提供的很多功能

五、分布式的特性

Elasticsearch可以扩展到上百(甚至上千) 的服务器来处理PB级的数据

Elasticsearch为分布式而生, 而且它的设计隐藏了分布式本身的复杂性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值