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
}
1条答案
按热度按时间hsvhsicv1#
有几种方法可以编写sql并从elasticsearch返回结果
使用odbc驱动程序
安装odbc驱动程序并使用
System.Data.Odbc.OdbcConnection
获取记录。例如请注意,odbc驱动程序是白金特性,需要白金或企业许可证。
使用sql api
使用ElasticSearchSQLAPI,它公开在.net客户端nest上。一个例子
SQLAPI是默认发行版功能的一部分。