ElasticSearch學(xué)習(xí):深入解析索引、文檔和REST API
1. 文檔基本概念與概覽在ElasticSearch中,索引和文檔是兩個核心概念,類似于關(guān)系型數(shù)據(jù)庫中的表和行。文檔是最小可搜索單位的數(shù)據(jù),在ES中每一行數(shù)據(jù)都被作為一個文檔存在,比如一行日志或一行電
1. 文檔基本概念與概覽
在ElasticSearch中,索引和文檔是兩個核心概念,類似于關(guān)系型數(shù)據(jù)庫中的表和行。文檔是最小可搜索單位的數(shù)據(jù),在ES中每一行數(shù)據(jù)都被作為一個文檔存在,比如一行日志或一行電影信息。通過Kibana的DevTool可以查看一個索引下的所有文檔信息。
2. 文檔元數(shù)據(jù)
文檔元數(shù)據(jù)用于標注文檔的相關(guān)信息,包括以下內(nèi)容:
1. _index: 文檔所屬的索引名稱
2. _type: 文檔所屬的類型名
3. _id: 文檔的唯一ID
4. _source: 文檔對應(yīng)的JSON數(shù)據(jù)信息
5. @version: 文檔的版本信息
6. _score: 文檔的相關(guān)性打分
這些元數(shù)據(jù)提供了文檔的基本特征和描述信息,方便在ES中進行檢索和分析。
3. 索引的基本概念與概覽
索引可以被認為是一類文檔的集合,類似于電腦上的一個文件夾。如果將其與關(guān)系型數(shù)據(jù)庫進行對比,索引相當于表的概念。一個索引的定義包含以下兩個方面的內(nèi)容:
1. Mapping:定義文檔包含的數(shù)據(jù)字段類型
2. Setting:定義數(shù)據(jù)在分片上的分布方式
通過Kibana可以查看所有索引,并且可以針對一個索引查看其Mapping和Setting信息。
4. 索引的Type概念
在ElasticSearch 7.0之前的版本,一個索引下可以包含多個Type,每個Type又包含一類文檔。但從6.0版本開始,不建議使用索引下的Type。從7.0版本開始,一個索引只能創(chuàng)建一個Type,即"_doc"。
5. ElasticSearch和關(guān)系型數(shù)據(jù)庫的概念對比
作為應(yīng)用在不同場景的數(shù)據(jù)存儲解決方案,ElasticSearch和關(guān)系型數(shù)據(jù)庫在許多核心概念上可以進行對比。兩者都有索引(表)和文檔(行)的概念,但在實現(xiàn)方式和功能上存在差異。
6. REST API概念介紹
為了能夠被各種編程語言調(diào)用,ElasticSearch提供了友好且強大的REST形式的API。通過調(diào)用ES接口,我們可以進行數(shù)據(jù)的增刪改查等操作。
總結(jié):
本文詳細介紹了ElasticSearch中的索引、文檔和REST API的概念。索引是文檔的集合,而文檔是最小可搜索單位的數(shù)據(jù)。文檔元數(shù)據(jù)提供了文檔的相關(guān)信息,方便在ES中進行檢索和分析。此外,文章還對索引的Type概念進行了說明,并與關(guān)系型數(shù)據(jù)庫進行了對比。最后,介紹了ES強大的REST API,為各種編程語言提供了調(diào)用接口。