1

Elasticsearch简介

1.Elasticsearch 是分布式文档搜索引擎。它可以快速地储存、搜索和分析海量数据。它本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个Elasticsearch 实例。单个 Elasticsearch 实例称为一个节点(node),一组节点构成一个集群(cluster)。
2.Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。
3.Elasticserarch中的文档不仅仅包含了数据,还包含了文档元数据,元数据中有文档的相关信息。元数据包括:
  • _index:文档存储的地方
  • _type:文档代表的对象类型
  • _id:文档的唯一标识

Index

Elasticsearch中的Index(索引)是 Elasticsearch 数据管理的顶层单位。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是全部小写,不能以下划线开头,不能包含逗号。

Document

Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。Document实际上就是JSON串。例如:
{
  "name": "Tom",
  "age": "21"
}

同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同。

Type

类型(Type)简单理解就是对不同Document的分类,Type的名字可以是大写或小写,不能包含下划线或逗号;


总之,在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型数据库:

MySQL -------> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Index   -> Types  -> Documents -> Fields

在Elasticsearch集群可以包含多个索引(index)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列);


一只小小鸟
144 声望25 粉丝

如何做一个深层次的思考者,从简单开始、从记录开始。