搞一搞Elasticsearch

Elasticsearch总览

今天开始我们开启一个新的系列Elasticsearch系列,作者会按下面几个方面来和大家聊es,它是什么、它解决了那些问题、它的基本原理是什么、它要怎么配置、它要怎么用等一系列的问题展开和小伙伴们讨论,今天开始我们的第一篇,认识一下我们本系列的主角。

Elasticsearch总体介绍

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。

Elasticsearch为所有类型的数据提供近乎实时(从更新文档到查询到文档的时间间隔1S)的搜索和分析。无论是结构化文本还是非结构化文本,数字数据或地理空间数据,Elasticsearch都能以支持快速搜索的方式有效地对其进行存储和索引。不仅可以进行简单的数据检索,还可以聚合信息。随着数据和查询量的增长,Elasticsearch的分布式特性能够解决我们的很多的问题。

Elasticsearch能够解决的问题:在你的应用或网站中实现全文检索,存储和分析你的应用的日志,使用Elasticsearch作为存储引擎自动化业务工作流程,使用Elasticsearch作为地理信息系统(GIS)管理,集成和分析空间信息等。

当然,我们使用Elasticsearch主要是用的强大的检索信息的能力。

Elasticsearch解决的问题

我们有很多的查询信息的需求,在数据量足够大的情况下,如果我们还是使用,关系型数据库的模糊查询语法进行数据信息检索的话,可想而知那是多么痛苦的一件事情。所以Es解决的问题就是信息的搜索。能让使用它的小伙伴们体验到信息检索快速的感觉。

Elasticsearch核心概念

向我们前面学习docker一样,在知道了es是做什么的情况下,我们来了解一下它涉及到的一些核心的概念,正确的理解这些概念是我们学习Elasticsearch 的基础。

学习一门新技术的时候,作者习惯将它和已经学会的知识进行映射对比,这样有助于理解新的技术。那么既然Elasticsearch能存储数据,能够搜索数据,那么理解它的一些概念的时候,我们不妨以我们熟悉的关系型数据库来对比这理解。

  • 节点:一台Elasticsearch服务就是一个节点。多个节点进行简单的配置就能搭建一个集群
  • 集群:Elasticsearch是一个天然的分布式系统,只需要简单的配置就能搭建一个es集群
  • 索引:又叫索引库,数据可以存储在不同的索引中,你可以理解为:传统的数据库, 不同的数据可以存储在不同的数据库中
  • 文档:可以理解为传统数据库中的一行数据,由多个字段组成,是索引的基本存储单元
  • 映射:可以理解为传统数据库的表结构,每个文档的的每个字段是什么类型,通过映射来定义
  • 分片:Es在存储数据的时候,会将一个索引的分配到不同的数据分片中,然后将分片分散在集群中的不同节点上
  • 副本:索引的备份,提高数据的安全性,防止数据的丢失,及时恢复数据
  • 近实时:Elasticsearch从写入数据到查询到数据只需要1s的时间
  • 字段:对应传统数据库的字段

小结

好了,小伙伴们,本篇简单的介绍了一下Elasticsearch,小伙伴们先在整体上对它有一个了解,后续我们会很详细的和大家来聊这个技术,从安装到原生的使用再到集成我们的项目中。下一篇文章,我们先来安装一个Elasticsearch,来做一些简单的测试,直观的进行感受。本系列会和小伙们进行深入的学习这门技术,敬请期待吧!

posted on 2020-08-20 00:48  北漂码农有话说  阅读(123)  评论(0编辑  收藏  举报