在Elasticsearch中显示PHP中的聚合结果

时间:2017-06-05 03:45:12

标签: elasticsearch

我试图在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);

如何显示每个日期的记录数?

1 个答案:

答案 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。否则,您将收到错误。

希望这有帮助