我正在使用 Kibana 3 来查询我的 Elasticsearch 服务器。Kibana 提供了一个 date_histogram 可视化面板来显示我为产品收集的价格。每个产品可以包含任意数量的价格和相应的日期。价格作为每个文档中的嵌套字段实现。
Kibana 创建以下查询,该查询在应用于所有文档时可以正常工作。
curl -XGET 'http://localhost.com:9200/vendor2/_search?pretty' -d '{
"facets": {
"1": {
"date_histogram": {
"key_field": "Prices.Fetched",
"value_field": "Prices.Price",
"interval": "1m"
},
"nested": "Prices",
"facet_filter": {
"fquery": {
"query": {
"filtered": {
"query": {
"query_string": {
"query": "*"
}
},
"filter": {
"bool": {
"must": [
{
"match_all": {}
},
{
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
]
}
}
}
}
}
}
}
},
"size": 0
}'
当我尝试使用 date_histogram 来可视化单个产品随时间的价格变动时,问题就出现了。Kibana 提供了过滤到特定文档的能力。例如,基于其 id/sku。
但是,然后 date_histogram 分面保持为空。
这是一个例子......谁能告诉我查询可能有什么问题?
curl -XGET 'http://localhost.com:9200/vendor2/_search?pretty' -d '{ "facets": {
"1": {
"date_histogram": {
"key_field": "Prices.Fetched",
"value_field": "Prices.Price",
"interval": "1m"
},
"nested": "Prices",
"facet_filter": {
"fquery": {
"query": {
"filtered": {
"query": {
"query_string": {
"query": "*"
}
},
"filter": {
"bool": {
"must": [
{
"match_all": {}
},
{
"fquery": {
"query": {
"field": {
"sku": {
"query": "\"AZF78FH77\""
}
}
},
"_cache": true
}
},
{
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
]
}
}
}
}
}
}
} }, "size": 0 }'