)
bulk有哪些類型的操作可以執行呢?#1.bulk的語法是怎樣的呢?每一個操作要兩個json串語法如下{action:{metadata}}{data}#2.bulk的操作有以下幾種 1delete刪除一個文檔只要1個json串就可以了 2createPUT/index/type/id/_create強制創建 3index普通的put操作可以是創建文檔也可以是全量替換文檔 4update執行的partial update操作tips:bulk api對json的語法有嚴格的要求每個json串不能換行只能放一行同時一個json串和一個json串之間必須有一個換行基于python實現批量增刪改查操作fromelasticsearchimportElasticsearchfromelasticsearchimporthelpers esElasticsearch(hostsip:port)bulk_list[{_op_type:delete,_index:test_index,_type:test_type,_id:3,},{_op_type:create,_index:test_index,_type:test_type,_id:12,_source:{test_field:test12}},{_op_type:index,_index:test_index,_type:test_type,_id:2,_source:{test_field:replaced test2}},{_op_type:update,_index:test_index,_type:test_type,_id:1,_retry_on_conflict:3,doc:{test_field2:bulk test1}}]resulthelpers.bulk(es,bulk_list)print(result)# 返回結果如下,表示4條語句執行成功(4,[])基于kibana實現批量增刪改查操作POST/_bulk{delete:{_index:test_index,_type:test_type,_id:3}}{create:{_index:test_index,_type:test_type,_id:12}}{test_field:test12}{index:{_index:test_index,_type:test_type,_id:2}}{test_field:replaced test2}{update:{_index:test_index,_type:test_type,_id:1,_retry_on_conflict:3}}{doc:{test_field2:bulk test1}}POST/test_index/_bulk{delete:{_type:test_type,_id:3}}{create:{_type:test_type,_id:12}}{test_field:test12}{index:{_type:test_type}}{test_field:auto-generate id test}{index:{_type:test_type,_id:2}}{test_field:replaced test2}{update:{_type:test_type,_id:1,_retry_on_conflict:3}}{doc:{test_field2:bulk test1}}POST/test_index/test_type/_bulk{delete:{_id:3}}{create:{_id:12}}{test_field:test12}{index:{}}{test_field:auto-generate id test}{index:{_id:2}}{test_field:replaced test2}{update:{_id:1,_retry_on_conflict:3}}{doc:{test_field2:bulk test1}} bulk操作中任意一個操作失敗是不會影響其他的操作的但是在返回結果里會告訴你異常日志