前言:
最近公司的业务有用到ElasticSearch,虽然说之前业余时间也自学过ElasticSearch技术,但是在公司实际的业务中开发中没有用过,再加上时间比较久远了,很多东西都忘记了,基于此我决定系统的重新学习一下这门技术,于是便有了该系列的文章。欢迎对此技术同样感兴趣的朋友点赞 + 评论 + 关注 + 转发!
特别说明:该系列的文章参考B站黑马程序员的教程而写,视频链接:
黑马Elasticsearch全套教程,含DSL查询语法、数据聚合、ES集合,最后配有黑马旅游网案例_哔哩哔哩_bilibili
一、了解ES
1.1、什么是elasticsearch
elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量的数据中快速找到需要的内容。
elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。
elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。
1.2、elasticsearch的发展
Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。
Lucene的优势:
(1)易扩展;
(2)高性能(基于倒排索引);
Lucene的缺点:
(1)只限于Java开发;
(2)学习曲线陡峭;
(3)不支持水平扩展;
2004年Shay Banon基于Lucene开发了Compass 2010年Shay Banon 重写Compass,取名为Elasticsearch。 官网地址: https://www.elastic.co/cn/ 目前最新的版本是:7.12.1 相比与lucene,elasticsearch具备下列优势:
(1)支持分布式,可水平扩展;
(2) 提供Restful接口,可被任何语言调用;
1.3、为什么学习elasticsearch
搜索引擎技术排名:
(1)Elasticsearch:开源的分布式搜索引擎;
(2)Splunk:商业项目;
(3)Solr:Apache的开源搜索引擎;