2013-05-17 47 views
0

我目前正在研究一个项目,其中我将用户活动日志存储在elasticsearch中。日志中的用户字段类似于{“user”:“[email protected]”}。每个活动都有一个时间戳字段,用于描述此活动的记录时间。我可以根据特定时间段内的用户数量生成日期直方图。例如,直方图条目必须显示当时的用户数量。我可以通过获取方面计数来实现这一点,但是我需要通过最小查询来计算各种间隔和各种范围。请在这方面指导我。谢谢。基于方面计数的直方图

+0

在弹性网站上有一个教程http://www.elasticsearch.org/guide/reference/api/search/facets/histogram-facet/ – 2013-05-17 08:34:01

+0

http://www.elasticsearch.org/guide/ reference/java-api/facets/ – 2013-05-17 08:34:40

+1

还有一个弹性域名插件,可以在github上使用https://github.com/ptdavteam/elasticsearch-approx-plugin – 2013-05-17 08:36:38

回答

1

添加小到查询类似以下内容:

{"facets": { 
    "daily_volume": { 
    "date_histogram": { 
     "size": 100, 
     "field": "created_at", 
     "interval": "day" 
     "order": "time" 
    } 
    } 
} 

这将返回每天的项目数一个不错的组有序的数据。

然后,我将其提供给Google图表(ColumnChart可以很好地处理直方图),对返回的时间戳整数进行转换,将其转换为Javascript图表API可以正确理解的日期类型。