我有这段代码,它从 Product 表中选择 100 条记录,然后DeleteManyAsync(从 NEST 包中)删除所有记录。如何选择所有数据而不需要硬编码值 100?
var documents = _elasticClient.Search<Product>(
s => s.Query(q => q.MatchAll())
.Size(100)
);
var enumerable = documents.Hits.Select(h => h.Source);
await _elasticClient.DeleteManyAsync<Product>(enumerable);
Run Code Online (Sandbox Code Playgroud)
如果需要删除索引中的所有数据,则无需先查询并传输给客户端。只需使用通过查询 API 删除:
await _elasticClient.DeleteByQueryAsync<Product>(
s => s.Query(q => q.MatchAll())
);
Run Code Online (Sandbox Code Playgroud)