C# 批量删除 Elasticsearch 数据 - 基于 MC 字段
以下是一个简单的 C# 程序,用于批量删除 Elasticsearch 中的数据,该数据根据指定的 MC 字段进行筛选:
using Nest;
using System;
namespace ElasticsearchBatchDelete
{
class Program
{
static void Main(string[] args)
{
var settings = new ConnectionSettings(new Uri('http://localhost:9200'))
.DefaultIndex('index_name'); // 替换为实际的索引名称
var client = new ElasticClient(settings);
var searchResponse = client.Search<Document>(s => s
.Query(q => q
.Match(m => m
.Field(f => f.MC)
.Query('mc_value') // 替换为实际的 mc 值
)
)
);
var deleteResponse = client.DeleteMany(searchResponse.Documents);
Console.WriteLine($'Deleted {deleteResponse.Deleted} documents.');
}
}
class Document
{
public string MC { get; set; }
// 其他字段
}
}
这个程序使用了 Nest 库,它是一个 Elasticsearch 的客户端库,可以让我们使用 C# 来与 Elasticsearch 进行交互。在程序中,我们首先创建了一个连接设置对象,该对象指定了 Elasticsearch 的地址和默认的索引名称。然后,我们使用这个连接设置对象创建了一个 Elasticsearch 的客户端对象。
接下来,我们使用客户端对象执行了一个搜索操作,该操作会查找所有 MC 字段为指定值的文档。然后,我们使用客户端对象执行了一个批量删除操作,该操作会删除搜索结果中的所有文档。
最后,我们输出了删除文档的数量。
原文地址: https://www.cveoy.top/t/topic/nbNh 著作权归作者所有。请勿转载和采集!