在 Elasticsearch 中,可以使用 bulk API 來執行批量索引(bulkIndex)和批量更新(bulkUpdate)操作。
對于批量索引(bulkIndex),可以使用以下格式的請求體來提交索引操作:
{ "index" : { "_index" : "my_index", "_id" : "1" } }
{ "field1" : "value1" }
{ "index" : { "_index" : "my_index", "_id" : "2" } }
{ "field1" : "value2" }
...
每個操作由兩個部分組成:操作類型(index)和操作內容(包含索引名稱、文檔 ID 和文檔內容)。多個操作可以依次排列在請求體中。
對于批量更新(bulkUpdate),可以使用以下格式的請求體來提交更新操作:
{ "update" : { "_index" : "my_index", "_id" : "1" } }
{ "doc" : { "field1" : "new_value1" } }
{ "update" : { "_index" : "my_index", "_id" : "2" } }
{ "doc" : { "field1" : "new_value2" } }
...
每個操作同樣由兩個部分組成:操作類型(update)和操作內容(包含索引名稱、文檔 ID 和更新內容)。多個操作可以依次排列在請求體中。
使用 bulk API 可以將這些操作一次性提交給 Elasticsearch,以提高索引和更新的效率。執行批量操作后,Elasticsearch 會返回一個批量響應,其中包含每個操作的執行結果。
請注意,在執行批量操作前,需要確保索引已經存在,并且在請求中指定了正確的索引名稱和 ID。