我尝试使用以下查询:
curl -XGET 'localhost:9200/<index>/<type>/_search?pretty=true' -d '
{
"size": 0,
"query" : { "range" : { "_timestamp" : { "from" : "1420070400", "to" : "1451606400" } } },
"aggs": {
"langs": {
"terms": {
"field": "<field>"
}
}
}
}
'
从/到此处的详细信息是2015年1月1日至2016年1月1日。与根本没有“query”部分的查询相比,此查询的结果相同。
我要实现的是,文档计数仅在给定的时间范围内发生,而不是针对该时间的所有现有文档发生
我正在使用的类型的映射是这样定义的:
"_timestamp" : {
"enabled" : true,
"store" : true,
"format" : "date_time"
}
我做错了还是我在做一个错误的假设?
编辑:为澄清起见,我正在寻找一种方法来查看ES在过去24小时内为每种索引,每种类型创建了多少个文档。不仅如此,我想对此进行汇总。
因此,假设我们的类型是“艺术”,而我正在汇总的字段是“type_of_art”。
虽然总共可能有数以百万计的文档,但在过去的24小时内,仅添加了7尊雕像,5幅绘画和3部歌剧。例如。
而且,如果我想知道在2014年10月1日至2014年11月15日之间创建了多少内容,我可以想象完全相同的查询将产生所需的结果。
最佳答案
日期的值以毫秒为单位,因此正确的查询是:
{
"size": 0,
"query" : { "range" : { "_timestamp" : { "from" : "1420070400000", "to" : "1451606400000" } } },
"aggs": {
"langs": {
"terms": {
"field": "<field>"
}
}
}
}
关于elasticsearch - Elasticsearch:最近24小时(或时间段)内每种类型的新文档数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38699513/