ElasticSearch嵌套(.net)sql

zed5wv10  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(1)|浏览(346)

我想用https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-sql.html 使用.net嵌套客户端。有什么办法吗?我真的看不到导游。

hsvhsicv

hsvhsicv1#

有几种方法可以编写sql并从elasticsearch返回结果

使用odbc驱动程序

安装odbc驱动程序并使用 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驱动程序是白金特性,需要白金或企业许可证。

使用sql api

使用ElasticSearchSQLAPI,它公开在.net客户端nest上。一个例子

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
}

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

相关问题