r"\1"
中的文档包含一个以ES
格式存储日期值的字段,如下所示:
epoch
我正在尝试构建一个查询,我可以根据特定日期过滤文档,无论是否考虑UTC时差。
由于我在"received": 1521055535062
中有超过一百万条记录,因此我想了解一下这些文档中有多少属于特定日期。
答案 0 :(得分:1)
您要查找的是具有所需日期格式规范的日期范围查询。以下内容应返回2018年第一天收到的文件
GET _search
{
"query": {
"range" : {
"received" : {
"gte": "01/01/2018",
"lt": "01/02/2018",
"format": "dd/MM/yyyy"
}
}
}
}
请参阅此处了解详情https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html
答案 1 :(得分:1)
只需添加一段Java代码(使用范围查询)。从问题来看,不清楚查询应该用哪种语言编写,但是如果它是用Java编写的,那么下面的代码片段应该会有所帮助:
BoolQueryBuilder boolQuery = new BoolQueryBuilder();
Date asOfDate = new Date(System.currentTimeMillis() - historySeconds * 1000);
boolQuery.must(QueryBuilders.rangeQuery("created").from(asOfDate).includeLower(true));