Elasticsearch总览
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
,来做一些简单的测试,直观的进行感受。本系列会和小伙们进行深入的学习这门技术,敬请期待吧!