Elasticsearch
Redash ES 连接器是几年前社区的贡献。它存在许多错误,需要重写。这项工作已经开始,但目前由于我们没有资源测试新的实现而被阻止。如果有任何人想提供帮助,我们很乐意接受(请参阅这里)。
Redash 支持两种 Elasticsearch 查询方式:Lucene/字符串样式查询(类似 Kibana)和更精细的基于 JSON 的查询。对于第一种,创建类型为 Kibana
的数据源;对于后一种,创建类型为 Elasticsearch
的数据源。
字符串查询示例
- 查询名为“twitter”的索引
- 按“user:kimchy”过滤
- 返回字段:“@timestamp”、“tweet”和“user”
- 最多返回 15 个结果
- 按 @timestamp 升序排序
{
"index": "twitter",
"query": "user:kimchy",
"fields": ["@timestamp", "tweet", "user"],
"limit": 15,
"sort": "@timestamp:asc"
}
在 logstash Elasticsearch 实例上的简单查询
- 查询名为“logstash-2015.04.*”的索引(在本例中,为 2015 年 4 月的所有索引)
- 按 type:events AND eventName:UserUpgrade AND channel:selfserve 过滤
- 返回字段:“@timestamp”、“userId”、“channel”、“utm_source”、“utm_medium”、“utm_campaign”、“utm_content”
- 最多返回 250 个结果
- 按 @timestamp 升序排序
{
"index": "logstash-2015.04.*",
"query": "type:events AND eventName:UserUpgrade AND channel:selfserve",
"fields": [
"@timestamp",
"userId",
"channel",
"utm_source",
"utm_medium",
"utm_campaign",
"utm_content"
],
"limit": 250,
"sort": "@timestamp:asc"
}
在 ElasticSearch 实例上的 JSON 文档查询
- 查询名为“twitter”的索引
- 按 user 等于“kimchy” 过滤
- 返回字段:“@timestamp”、“tweet”和“user”
- 最多返回 15 个结果
- 按 @timestamp 升序排序
{
"index": "twitter",
"query": {
"match": {
"user": "kimchy"
}
},
"fields": ["@timestamp", "tweet", "user"],
"limit": 15,
"sort": "@timestamp:asc"
}
关于身份验证的说明
Redash 有两种可用于 Elasticsearch 的数据源。如果您使用基于 IAM 的身份验证,则需要使用 Amazon Elasticsearch 服务源。否则,请使用标准数据源。