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