文章目录
简介
Elasticsearch的DSL查询语言使用复杂,难以理解。SQL才是数据分析人员的通用语言,也是获取数据的最便捷的方式。Elasticsearch包含一个X-Pack SQL插件,旨在提供功能强大但轻量级的SQL接口,实时执行类SQL的查询。无论是使用REST接口,命令行还是JDBC,任何客户端都可以使用SQL在Elasticsearch中实现搜索和聚合数据。可以将Elasticsearch SQL视为一个翻译器,它既能理解SQL又能理解Elasticsearch DSL,并且利用Elasticsearch实现大规模实时读取和处理数据。下面分别介绍使用Elasticsearch SQL的几种方式。
SQL REST API
Elasticsearch对外以REST API方式提供服务,同样其SQL REST API可以接受请求中的SQL语句,执行它并返回结果。
请求方式
请求SQL REST API的方式与普通的查询请求没有区别,任何可以发送查询请求的方式都可以执行SQL查询。
CURL
最简单的方式是用curl命令进行请求,示例如下:
curl -X POST "localhost:9200/_sql?format=txt" -H 'Content-Type: application/json' -d'
{
"query": "SELECT * FROM library ORDER BY page_count DESC LIMIT 5"
}'
Kibana
使用Kibana控制台是最推荐的方式,其不仅提供可视化的查询界面&#x