Elasticsearch .NET 客户端入门 [8.16]
本页面指导您完成 .NET 客户端的安装过程,展示如何实例化客户端,以及如何使用它执行基本的 Elasticsearch 操作。
- 支持 .NET Core、.NET 5+ 或 .NET Framework(4.6.1 及更高版本)。
安装 .NET 客户端
对于 SDK 风格的项目,运行以下命令安装最新版本的客户端:
shell
dotnet add package Elastic.Clients.Elasticsearch
更多安装信息,请参考安装页面。
连接到 Elastic Cloud
您可以使用 API 密钥和 Elasticsearch 端点连接到 Elastic Cloud。
csharp
var client = new ElasticsearchClient("<CLOUD_ID>", new ApiKey("<API_KEY>"));
您的 Elasticsearch 端点可以在部署的我的部署页面找到:
您可以在管理页面下的安全部分生成 API 密钥。
其他连接选项,请参考连接部分。
使用 Elasticsearch
本节将引导您完成 Elasticsearch 的基本且最重要的操作。更多操作和高级示例,请参考CRUD 使用示例页面。
创建索引
以下是如何创建 my_index
索引:
csharp
var response = await client.Indices.CreateAsync("my_index");
索引文档
以下是如何简单地索引一个文档:
csharp
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");
获取文档
您可以使用以下代码获取文档:
csharp
var response = await client.GetAsync<MyDoc>(id, idx => idx.Index("my_index"));
if (response.IsValidResponse)
{
var doc = response.Source;
}
创建匹配查询
以下是如何使用 .NET 客户端创建单个匹配查询:
csharp
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();
}
更新文档
以下是如何更新文档,例如添加一个新字段:
csharp
doc.Message = "This is a new message";
var response = await client.UpdateAsync<MyDoc, MyDoc>("my_index", 1, u => u
.Doc(doc));
删除文档和索引
csharp
var response = await client.DeleteAsync("my_index", 1);
csharp
var response = await client.Indices.DeleteAsync("my_index");