我正在使用以下代码索引列表项:
foreach (var menu in mappedCollection)
{
var response = await client.IndexAsync(menu, i => i.Id(menu.OptomasToolId));
}
如何进行IndexMany或任何等效的调用,以便我可以用它们的ID一口气将很多项目编入索引。
您可以使用低级API elasticsearch.net来对许多指定索引和ID的文档进行批量索引。
以这种方式工作:
BulkAllObservable<MenuForElasticSearch> bulk = client.BulkAll(mappedCollection, b => b
.BufferToBulk((descriptor, list) =>
{
foreach (var item in list)
{
descriptor.Index<MenuForElasticSearch>(bi => bi
.Index(index)
.Id(item.OptomasToolId)
.Document(item)
);
}
}));
bulk.Subscribe(new BulkAllObserver(
onError: (e) => {
// TO DO;
},
onCompleted: () => {
// TO DO;
}
));