五、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。索引引數接受單個索引名,或指向單個索引的別名。