弹性搜索 NEST (.net) SQL

Elastic Search NEST (.net) SQL

我正在尝试使用 https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-sql.html 使用 .net NEST 客户端。任何想法如何?我真的没有在任何地方看到指南。

有几种方法可以从 Elasticsearch

中写入 SQL 和 return 结果

使用 ODBC 驱动程序

Install the ODBC driver 并使用 System.Data.Odbc.OdbcConnection 获取记录。例如

using var connection = new OdbcConnection("DSN=Local Elasticsearch");
connection.Open();

using var command = connection.CreateCommand();
command.CommandText = "SELECT * FROM my_index";

using var adapter = new OdbcDataAdapter(command);
var table = new DataTable();
adapter.Fill(table);
connection.Close();

// do something with data in table

注意 ODBC driver is a platinum feature which requires a platinum or enterprise license.

使用 SQL API

使用在 .NET 客户端 NEST 上公开的 Elasticsearch SQL API。一个例子

var client = new ElasticClient();

var sqlResponse = client.Sql.Query(q => q
    .Query("SELECT * from my_index")
);

foreach (var c in sqlResponse.Columns)
{
    // do something with columns 
}
foreach (var r in sqlResponse.Rows)
{
    // do something with rows
}

SQL API 是默认发行版的一部分功能。