目录
一、什么是Elasticsearch?
二、核心概念
1.倒排索引(Inverted Index)
2.节点 & 集群(Node & Cluster)
3.索引(Index)
4.文档(Document)
5.类型(type)
6.文档元数据(Document matadata)
7.字段(Fields)
Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。
由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index);
Elasticsearch 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个Elasticsearch实例。单个Elasticsearch实例称为一个节点(Node),一组节点构成一个集群(Cluster);
Elasticsearch 数据管理的顶层单位叫做index(索引),相当于关系型数据库里的数据库的概念;每个index的名字必须小写;
inde里面单条记录称为document(文档),多个document构成一个index,document使用JSON格式表示;
document可以分组,比如employee这个index里面,可以按部门、年龄进行分组,这种分组叫做type,它是虚拟的逻辑分组,用来过滤document,类似关系数据库的数据表;
文档元数据为_index, _type, _id, 这三者可以唯一表示一个文档,_index表示文档在哪存放,_type表示文档的对象类别,_id为文档的唯一标识。
每个Document都类似一个JSON结构,它包含了许多字段,每个字段都有其对应的值,多个字段组成了一个 Document,可以类比关系型数据库数据表中的字段。