一、什么是ElasticSearch
Elaticsearch
,简称为
es
,
es
是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检
索数据;本身扩展性很好,可以扩展到上百台服务器,处理
PB
级别的数据。
es
也使用
Java
开发并使用
Lucene
作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的
RESTful API
来隐藏
Lucene
的复杂性,从而让全文搜索变得简单。
二、ElasticSearch的使用案例
2013
年初,
GitHub
抛弃了
Solr
,采取
ElasticSearch
来做
PB
级的搜索。
“GitHub
使用
ElasticSearch
搜索
20TB
的数据,包括
13
亿文件和
1300
亿行代码
”
维基百科:启动以
elasticsearch
为基础的核心搜索架构
SoundCloud
:
“SoundCloud
使用
ElasticSearch
为
1.8
亿用户提供即时而精准的音乐搜索服务
”
百度:百度目前广泛使用
ElasticSearch
作为文本数据分析,采集百度所有服务器上的各类指标数
据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异
常。目前覆盖百度内部
20
多个业务线(包括
casio
、云分析、网盟、预测、文库、直达号、钱包、
风控等),单集群最大
100
台机器,
200
个
ES
节点,每天导入
30TB+
数据
新浪使用
ES
分析处理
32
亿条实时日志
阿里使用
ES
构建挖财自己的日志采集和分析体系
三、ElasticSearch对比Solr
Solr
利用
Zookeeper
进行分布式管理,而
Elasticsearch
自身带有分布式协调管理功能
;
Solr
支持更多格式的数据,而
Elasticsearch
仅支持
json
文件格式;
Solr
官方提供的功能更多,而
Elasticsearch
本身更注重于核心功能,高级功能多有第三方插件提
供;
Solr
在传统的搜索应用中表现好于
Elasticsearch
,但在处理实时搜索应用时效率明显低于
Elasticsearch