入门编辑

本页将引导您完成 .NET 客户端的安装过程,展示如何实例化客户端,以及如何使用它执行基本的 Elasticsearch 操作。

要求编辑

  • .NET Core、.NET 5+ 或 .NET Framework(4.6.1 及更高版本)。

安装编辑

要安装适用于 SDK 风格项目的最新版本客户端,请运行以下命令

dotnet add package Elastic.Clients.Elasticsearch

请参阅 安装 页面以了解更多信息。

连接编辑

您可以使用 API 密钥和 Elasticsearch 端点连接到 Elastic Cloud。

var client = new ElasticsearchClient("<CLOUD_ID>", new ApiKey("<API_KEY>"));

您的 Elasticsearch 端点可以在部署的 我的部署 页面上找到

Finding Elasticsearch endpoint

您可以在安全下的 管理 页面上生成 API 密钥。

Create API key

有关其他连接选项,请参阅 连接 部分。

操作编辑

是时候使用 Elasticsearch 了!本节将引导您完成 Elasticsearch 的基本操作,也是最重要的操作。有关更多操作和更高级的示例,请参阅 CRUD 使用示例 页面。

创建索引编辑

以下是如何创建 my_index 索引

var response = await client.Indices.CreateAsync("my_index");

索引文档编辑

这是一种索引文档的简单方法

var doc = new MyDoc
{
    Id = 1,
    User = "flobernd",
    Message = "Trying out the client, so far so good?"
};

var response = await client.IndexAsync(doc, "my_index");

获取文档编辑

您可以使用以下代码获取文档

var response = await client.GetAsync<MyDoc>(id, idx => idx.Index("my_index"));

if (response.IsValidResponse)
{
    var doc = response.Source;
}

搜索文档编辑

以下是如何使用 .NET 客户端创建单个匹配查询

var response = await client.SearchAsync<MyDoc>(s => s
    .Index("my_index")
    .From(0)
    .Size(10)
    .Query(q => q
        .Term(t => t.User, "flobernd")
    )
);

if (response.IsValidResponse)
{
    var doc = response.Documents.FirstOrDefault();
}

更新文档编辑

以下是如何更新文档,例如添加新字段

doc.Message = "This is a new message";

var response = await client.UpdateAsync<MyDoc, MyDoc>("my_index", 1, u => u
    .Doc(doc));

删除文档编辑

var response = await client.DeleteAsync("my_index", 1);

删除索引编辑

var response = await client.Indices.DeleteAsync("my_index");

进一步阅读编辑

  • 请参阅 使用建议 页面以了解有关如何最有效地使用客户端的更多信息。