嵌套:如何在一个批量请求中执行不同的操作和映射类型?

嵌套:如何在一个批量请求中执行不同的操作和映射类型?,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我有一个“事件”对象的列表。每个事件都有其操作(删除、更新、索引等)、映射类型(文档、文件夹等)以及要编入Elasticsearch的实际内容(如果有)。我不知道这些行动会是什么。如何使用NEST为每个事件动态选择批量操作和映射类型?ElasticClient上的批量方法应符合您的要求 您可以将各种批量操作传递到BulkRequest,这是一个简单的用法: var bulkRequest = new BulkRequest(); bulkRequest.Operations = new List

我有一个“事件”对象的列表。每个事件都有其操作(删除、更新、索引等)、映射类型(文档、文件夹等)以及要编入Elasticsearch的实际内容(如果有)。我不知道这些行动会是什么。如何使用NEST为每个事件动态选择批量操作和映射类型?

ElasticClient
上的批量方法应符合您的要求

您可以将各种批量操作传递到
BulkRequest
,这是一个简单的用法:

var bulkRequest = new BulkRequest();
bulkRequest.Operations = new List<IBulkOperation>
{
    new BulkCreateDescriptor<Document>().Id(1).Document(new Document{}),
    new BulkDeleteDescriptor<Document>().Id(2)
};

var bulkResponse = client.Bulk(bulkRequest);
var bulkRequest=new bulkRequest();
bulkRequest.Operations=新列表
{
新建BulkCreateDescriptor().Id(1).Document(新文档{}),
新BulkDeleteDescriptor().Id(2)
};
var bulkResponse=client.Bulk(bulkRequest);
希望能有帮助