我试图在Elasticsearch中显示PHP的聚合结果。我希望我的输出是这样的:
日期:该日期有多少记录
20110105:5条记录
20120501:2条记录
20120602:15条记录
这是我到目前为止所做的:
$json = '{"aggs": { "group_by_date": { "terms": { "field": "arrivalDate" } } } }';
$params = [
'index' => 'pickups',
'type' => 'external',
'body' => $json
];
$results = $es->search($params);
如何显示每个日期的记录数?
答案 0 :(得分:0)
您应该使用date histogram aggregation来达到目的。
您的查询看起来像 -
{
"query": #if any,
"aggs": {
"date": {
"date_histogram": {
"field": "fieldName",
"interval": "day",
"min_doc_count": 1 #if you need key with any minimum doc count
}
}
},
"size": 0
}
要正确运行此查询,您的日期字段类型应为
date
。否则,您将收到错误。
希望这有帮助