elasticsearch - Elasticsearch:最近24小时(或时间段)内每种类型的新文档数量

标签 elasticsearch

我尝试使用以下查询:

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/

相关文章:

amazon-web-services - 是否会使用 cloudformation 配置对 Amazon Elasticsearch Service 域的 VPC 支持

elasticsearch - 过滤器在已过滤查询的内部还是外部是否重要?

java - 获取 Elasticsearch 中索引的最后一个 ID

elasticsearch - 如何在elasticsearch中匹配单词的一部分?

lucene - 如何设置ElasticSearch以对电子邮件地址执行SQL LIKE “%”?

php - ElasticSearch查询以搜索父文档并认为至少有一个 child

java - 使用ES Hadoop连接器将JavaRDD保存在Elastic Search中

php - 使用Elasticsearch的Curl Exception 7 PHP和Guzzle

java - 无法存储长度超过 32766 的关键字文本字段

elasticsearch - 在 Elasticsearch 中过滤匹配单个字符的结果