ElasticSearach的简介
- ES是一个企业级的、近实时的全文检索引擎,性能很优秀,是目前全世界最受欢迎的全文检索引擎
- 实时性要比Solr好
- ES是基于Lucene开发的(Lucene是道格卡丁开发),ES基于Lucene之上做了很多的扩展,Lucene是单机,而ES是分布式(优势的)
- ES应用场景
- 企业级检索
- 分析(支持不太复杂的一些业务分析,支持SQL、支持聚合计算)
- 日志运维(企业中的一些运维人员可以根据ES中的日志来快速排错)
- 作为传统数据库的补充(因为它非常擅长检索,可以结合着 MySQL 来使用
- ElasticStack(ELK):现在的组件越来越多
- Beats(FileBeat、MetricBeat、WinlogBeat…)
- Logstash(数据采集、实时数据采集)
- Kibana(可视化工具)
全文检索:
- 通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数
- 用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了
- 类似于通过字典中的检索字表查字的过程
ES集群的架构原理
|