1.什么是elasticsearch?
elasticsearch是一款搜索引擎,主要作用是帮我们在海量的数据当中找到需要的内容进行高亮显示。
应用场景:商品的关键字搜索,浏览器搜索关键字,打车软件。
elasticsearch结合Kibana(数据可视化),logstash(数据抓取),Beats(数据抓取),也就是elastic stack(ELK)。被广泛的应用到日志数据的分析和实时的监控领域。
elasticsearch是elastic stack的核心,负责存储,搜索,分析数据。其他如Kibana,logstash,Beats都是可有被其他公司或者企业进行替换。
-
elasticsearch的底层实现
-
只限于Java语言开发
-
学习曲线陡峭
-
不支持水平扩展
-
-
Lucene是一个]ava语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。
官网地址:Apache Lucene - Welcome to Apache Lucene
Lucene的优势:
-
易扩展
-
高性能(基于倒排索引)
Lucene的缺点:
-
-
elasticsearch的发展 2004年Shay Banon基于Lucene开发了Compass
2010年Shay Banon重写了Compass,取名为Elasticsearch。
官网地址:Elastic — 搜索 AI 公司 | Elastic
目前最新的版本是:7.12.1相比与lucene,elasticsearch具备下列优势
-
支持分布式,可水平扩展
-
提供Restful接口,可被任何语言调用
扩展:据传作者发明的初衷是为自己的妻子方便做饭,所以自己写的一个搜索软件。
-