Elasticsearch的Bulk API使用
1、Elasticsearch的Bulk API允許批量提交index和delete請求。如:
(1)用法1
BulkRequestBuilder bulkRequest = client.prepareBulk();
bulkRequest.add(client.prepareIndex("index1", "type1", "id1").setSource(source);
bulkRequest.add(client.prepareIndex("index2", "type2", "id2").setSource(source);
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
(2)用法二
BulkProcessor bulkProcessor = BulkProcessor.builder(
client,
new BulkProcessor.Listener() {
@Override
public void beforeBulk(long executionId,
BulkRequest request) { ... }
@Override
public void afterBulk(long executionId,
BulkRequest request,
BulkResponse response) { ... }
@Override
public void afterBulk(long executionId,
BulkRequest request,
Throwable failure) { ... }
})
.setBulkActions(10000)
.setBulkSize(new ByteSizeValue(1, ByteSizeUnit.GB))
.setFlushInterval(TimeValue.timeValueSeconds(5))
.build();
bulkProcessor.add(new IndexRequest("index1", "type1", "id1").source(source1));
bulkProcessor.add(new DeleteRequest("index2", "type2", "id2");
(3)說明
1)beforeBulk會在批量提交之前執行,可以從BulkRequest中獲取請求資訊request.requests()或者請求數量request.numberOfActions()。
2) 第一個afterBulk會在批量成功後執行,可以跟beforeBulk配合計算批量所需時間。
3)第二個afterBulk會在批量失敗後執行。
4)在例子中,當請求超過10000個(default=1000)或者總大小超過1GB(default=5MB)時,觸發批量提交動作。
相關文章
- 【elasticsearch】bulk api奇特的json格式的原因ElasticsearchAPIJSON
- Elasticsearch——mget及bulkElasticsearch
- ElasticSearch Java API使用ElasticsearchJavaAPI
- 使用 Java API 操作 elasticsearchJavaAPIElasticsearch
- ElasticSearch7.4批量匯入_bulkElasticsearch
- Bulk 異常引發的 Elasticsearch 記憶體洩漏Elasticsearch記憶體
- ElasticSearch安裝及java Api使用ElasticsearchJavaAPI
- elasticsearch API使用方法備忘(Python)ElasticsearchAPIPython
- Elasticsearch cat api的用法ElasticsearchAPI
- Elasticsearch 入門實戰(8)--REST API 使用二(Search API)ElasticsearchRESTAPI
- ElasticSearch—— Java APIElasticsearchJavaAPI
- Elasticsearch Search APIElasticsearchAPI
- .Net Api 之如何使用Elasticsearch儲存文件APIElasticsearch
- Go 呼叫 elasticsearch 批量操作介面 “/_bulk” ,提示"\n"錯誤GoElasticsearch
- elasticsearch(八)---search apiElasticsearchAPI
- Elasticsearch(二)——Rest APIElasticsearchRESTAPI
- Elasticsearch 入門實戰(9)--Java API Client 使用二ElasticsearchJavaAPIclient
- elasticsearch的使用Elasticsearch
- ElasticSearch之基本用法APIElasticsearchAPI
- bulk forall 的測試(轉)
- 實踐005-elasticsearch的Search API概覽ElasticsearchAPI
- Dynamics CRM 如何使用XrmToolBox中的Bulk Workflow Execution批量更新資料
- sqlserver bulk insert報錯Cannot bulk load because the file could not be opened.SQLServer
- Elasticsearch Java High Level REST Client(Exists API)ElasticsearchJavaRESTclientAPI
- Elasticsearch Java High Level REST Client(Delete API)ElasticsearchJavaRESTclientdeleteAPI
- elasticsearch常用請求介面Rest API示例ElasticsearchRESTAPI
- elasticsearch 的 update by query 使用案例Elasticsearch
- Elasticsearch 技術分析(九):Elasticsearch的使用和原理總結Elasticsearch
- 《ElasticSearch6.x實戰教程》之簡單的APIElasticsearchAPI
- Elasticsearch使用系列-Docker搭建Elasticsearch叢集ElasticsearchDocker
- BULK In-BIND與RECORD(轉)
- mongodb批量操作, bulk_write,MongoDB
- 最新kali之bulk_extractor
- RabbitMQ和Elasticsearch的使用筆記MQElasticsearch筆記
- Laravel 下 Elasticsearch 使用LaravelElasticsearch
- Django中使用ElasticSearchDjangoElasticsearch
- Elasticsearch使用系列-.NET6對接ElasticsearchElasticsearch
- 33_分散式文件系統_bulk api的奇特json格式與底層效能最佳化關係大揭秘分散式APIJSON
- Hadoop httpfs API的使用HadoopHTTPAPI