快速入门

编辑

本页面将指导您完成 .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");

进一步阅读

编辑
  • 请参考 使用建议 页面,了解如何更有效地使用客户端。