1. 程式人生 > >五、Document APIs

五、Document APIs

本節首先簡要介紹Elasticsearch的資料複製模型,然後詳細描述以下CRUD API:

讀寫檔案(Reading and Writing documents):

1、介紹:

Elasticsearch的每個索引都被分成分片,每個分片可以有多個副本。這些副本稱為複製組,在新增或刪除文件時必須保持同步。如果我們不這樣做,會導致不同的結果在兩個讀取副本時。保持分片副本同步並提供從中讀取的過程稱為資料複製模型。Elasticsearch的資料複製模型基於主備份模型,在微軟研究院PacificA的論文中有很好的描。該模型基於複製組中作為主分片的一個副本。其他的副本稱為複製分片。主索引作為所有索引操作的主要入口點。它負責驗證它們並確保它們是正確的。一旦主操作接受了索引操作,主操作還負責將操作複製到其他副本。本節的目的是對Elasticsearch複製模型作一個高層次的概述,並討論它對讀寫操作之間的各種互動的影響。

2、基本寫模型:

Elasticsearch中的每個索引操作首先使用路由解析為一個複製組,通常基於文件ID。一旦確定了複製組,操作將在內部轉發到組的當前主分片。主碎片負責驗證操作並將其轉發到其他副本。由於副本可以離線,主副本不需要複製到所有副本。相反,Elasticsearch維護應該接收操作的分片副本列表。這個列表稱為同步副本,由主節點維護。顧名思義,這些是一組“good”分片副本,它們保證已經處理了所有已向用戶承認的索引和刪除操作。主程式負責維護這個不變數,因此必須將所有操作複製到這個集合中的每個副本。

單一文件API(single   document  API):

1、Index  API:

2、Get     API:

3.   Delete  API:

4、Update  API:

多文件API( Multi-document APIs):

1、Multi Get  API:

2、Bulk   API:

3、Delete  By Query API:

4、Update  By Query API:

5、Reindex API:

注意:所有CRUD API都是單索引API。索引引數接受單個索引名,或指向單個索引的別名。