ES|QL 在 .NET 客户端
编辑ES|QL 在 .NET 客户端
编辑此页面帮助您了解和使用 .NET 客户端中的 ES|QL。
在 .NET 客户端中使用 ES|QL 有两种方法
- 直接使用 Elasticsearch ES|QL API:这是最灵活的方法,但也是最复杂的方法,因为您必须以原始形式处理结果。您可以选择结果的精确格式,例如 JSON、CSV 或文本。
- 使用 ES|QL 高级助手:这些助手负责将原始响应解析为应用程序可直接使用的内容。针对不同的用例提供了多个助手,例如对象映射、结果的游标遍历(开发中)和数据帧(开发中)。
如何使用 ES|QL API
编辑ES|QL 查询 API 允许您指定结果的返回方式。您可以选择 响应格式,例如 CSV、文本或 JSON,然后使用列分隔符和语言环境等参数对其进行微调。
以下示例获取 ES|QL 结果作为 CSV 并对其进行解析
var response = await client.Esql.QueryAsync(r => r .Query("FROM index") .Format("csv") ); var csvContents = Encoding.UTF8.GetString(response.Data);
使用 ES|QL 结果
编辑前面的示例表明,尽管原始 ES|QL API 提供了最大的灵活性,但仍需要额外的工作才能使用结果数据。
为了简化操作,尝试使用 ES|QL 结果的这三种主要表示形式(每种都有自己的映射助手)
- 对象,其中结果中的每一行都映射到应用程序域中的一个对象。这类似于 ORM(对象关系映射器)通常执行的操作。
- 游标,您逐行扫描结果并使用列名访问数据。这类似于数据库访问库。
- 数据帧,其中结果以列式结构组织,允许有效处理列数据。
// ObjectAPI example var response = await client.Esql.QueryAsObjectsAsync<Person>(x => x.Query("FROM index")); foreach (var person in response) { // ... }