Elasticsearch介绍及核心概念

一、什么是Elasticsearch?

es基于lucence,隐藏复杂性,提供简单易用的restful api接口、java api接口(还有其它语言的api接口)

es是一个实时分布式搜索和分析引擎,它用于全文搜索、结构化搜索、分析。

Elasticsearch介绍及核心概念_第1张图片

二、Elasticsearch特点

Elasticsearch介绍及核心概念_第2张图片

三、Elasticsearch核心概念

3.1近实时

从写入数据到可以被搜索到有一个小延迟(大概1秒);基于es执行搜索和分析可以达到秒级(倒排索引)。

3.2Cluster(集群)

集群包含多个节点,每个节点属于哪个集群是通过一个配置来决定的。对于中小型应用,刚开始一个集群一个节点是正常的。

3.3Node(节点)

集群中的一个节点,节点也有一个名称(默认是随机分配的),节点名称很重要(在执行运维管理操作的时候),默认节点会去加入一个名称为elasticsearch的集群,如果直接启动一堆节点,那么它们会自动组成一个elasticsearch集群,一个节点也是可以组成一个elasticsearch集群

3.4 Index(索引--数据库)

索引包含一堆相识结构的文档数据,比如可以有一个客户索引、订单索引、商品分类索引。一个index包含多个document,一个index就代表一类类似的或者相同的document。比如建立一个product index,商品索引,里面可能就存放了所有的商品数据,所有商品的document。

注:6.x版本,es规定只能一个索引只能有一个type;7.x版本默认使用_doc作为type;官方说在8.x版本会彻底移除type。

版本的选择,参考官网地址:https://www.elastic.co/guide/en/elasticsearch/reference

3.5 Type(类型--表)

每个索引都可以会有一个或多个Type,type是index中的一个逻辑数据分类,一个type下的document,都有相同的field。比如博客系统,有一个索引,可以定义用户数据type、博客数据type、评论数据type。

Elasticsearch介绍及核心概念_第3张图片

3.6 Document(文档--行)

文档是es中的最小数据单元,一个document可以是一条客户数据、一条订单数据,通常用JSON数据结构表示,每个index下的type中,可以存储多个document。

3.7 Field(字段--列)

field是es的最小单位。一个document里有多个field,每个field就是一个数据字段。

3.8 Mapping(映射--约束)

数据如何存放到索引对象上,需要有一个映射配置,包括:数据类型、是否存储、是否分词等。

创建一个名成blog的index,type不需要单独创建,在创建Mapping时指定就可以。Mapping用来定义document中每个字段的类型,即所使用的analyze、是否索引等属性。

Elasticsearch介绍及核心概念_第4张图片

四、es与数据库的对比

Elasticsearch介绍及核心概念_第5张图片

待续。

你可能感兴趣的:(Elasticsearch)