打算出一个 ElasticSearch 教程,谁赞成,谁反对?
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->
松哥前段时间连载的 Spring Security 基本上告一段落了,接下来我会抽空将这个系列的教程整理成一个系列分发给大家。最近一段时间自己也稍微休息了一下,不写教程的日子虽然可以早早睡觉但是又会感到无聊,得找点事情做,感觉是时候开启一波新的旅程了~
2018 年国庆节期间 ElasticSearch 母公司上市,那个时候我就想写一个 es 教程,可惜后来烂尾了,这事在我心里老是一个疙瘩。最近刚好有一个时间空档,就想着能不能把这个系列给完结了。
ElasticSearch 目前也算是非常火了,站内搜索、日志分析都会用到它,而且还可以直接当成 NoSQL 数据库来使用。
接下来,我们就通过下面这个简单介绍,开启 es 之旅吧~
以下是视频笔记。
Lucene
Lucene 是一个开源、免费、高性能、纯 Java 编写的全文检索引擎,可以算作是开源领域最好的全文检索工具包。
在实际开发中,Lucene 几乎适用于任何需要全文检索的场景,所以 Lucene 先后发展出好多语言版本,例如 C++、C#、Python 等。
早在 2005 年,Lucene 就升级为 Apache 顶级开源项目。它的作者是 Doug Cutting,有的人可能没听过这这个人,不过你肯定听过他的另一个大名鼎鼎的作品 Hadoop。
不过需要注意的是,Lucene 只是一个工具包,并非一个完整的搜索引擎,开发者可以基于 Lucene 来开发完整的搜索引擎。比较著名的有 Solr、ElasticSearch,不过在分布式和大数据环境下,ElasticSearch 更胜一筹。
Lucene 主要有如下特点:
-
简单 -
跨语言 -
强大的搜索引擎 -
索引速度快 -
索引文件兼容不同平台
ElasticSearch
ElasticSearch 是一个分布式、可扩展、近实时性的高性能搜索与数据分析引擎。ElasticSearch 基于 Java 编写,通过进一步封装 Lucene,将搜索的复杂性屏蔽起来,开发者只需要一套简单的 RESTful API 就可以操作全文检索。
ElasticSearch 在分布式环境下表现优异,这也是它比较受欢迎的原因之一。它支持 PB 级别的结构化或非结构化海量数据处理
整体上来说,ElasticSearch 有三大功能:
-
数据搜集 -
数据分析 -
数据存储
ElasticSearch 的主要特点:
-
分布式文件存储。 -
实时分析的分布式搜索引擎。 -
高可拓展性。 -
可插拔的插件支持。
今日干货