elasticsearch学习笔记

一、es是什么呢

 以下是百度百科的解释:

  Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎

  Logstash Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。

 Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。(ps: 橙黄色字体的表是的是和es搭配的小工具,可以帮助我们更好的使用es, 一般用的logstash 和 kibana比较多吧,beats我倒是没怎么见过。)

   Elasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的增长,Elasticsearch 的分布式特性使您的部署能够随之无缝增长。

二、为什么需要用es?

  当我们的项目数据量越来越大的时候,对于数据的查询检索感觉越来越缓慢,越来越受不了了。这时候你就该考虑使用到es这宽技术来帮助自己的项目了。(吐槽: 难道不是应该项目刚开始的会后就应该用这个吗?这就得问架构师了嘻嘻~)

  由于Elasticsearch的功能强大和使用简单,维基百科、卫报、Stack Overflow、GitHub等都纷纷采用它来做全文搜索。

三、为什么选择es?

  一般来说对于分布式微服务的项目,如果是toC的项目,对于项目的整体架构来说,更需要很多的中间件来提高项目的整体性能,那么对于中间件的选择就需要以下的几个方面来进行选择:①性能  ②生态  ③可用性  ④社区   ⑤维护团队。对于这些方面来说对于海量的数据来说有Solr、Lucene等搜索引擎,但是一般都会选择es,大家都用,都选择,那就是好的。也有其他博主搞的对比可以去搜索一下。

  大家都知道创建索引可以加快查询的速度,帮助我们的数据查询检索,mysql用的索引和es的索引是不同的,es用的索引是使用的倒排索引,而mysql的话一般使用的是B+树这种数据结构,

一般来说数据库的架构图一般都是像这样的:

 

posted @ 2022-11-23 16:09  程序员hg  阅读(23)  评论(0编辑  收藏  举报