嗨,我对弹性搜索有点新意。我需要使用日期比较和动态范围过滤器进行聚合。
就像我需要获取文件计数,其中created_at文件比其identification_date早1周。
所以我尝试了类似这样的东西,但我的约会参数似乎未被使用,实际上改变它永远不会改变我的结果。
"aggs": {
"identified": {
"terms": {
"script": "doc['created_at'].value > (doc['identification_date'].value - diff_date)
&& doc['created_at'].value < doc['identification_date'].value",
"params": {
"diff_date": 604800
}
}
}
}
感谢您抽出时间帮忙。
答案 0 :(得分:0)
因为在抽象级别上,您只需要在某个日期字段前7天创建的文档数量。如果您不希望在某些字段上进一步对结果集进行分组,则不需要聚合。您可以a)在日期字段中使用范围过滤器查询
{
"range" : {
"date" : {
"gte" : "now-7d/d",
"lt" : "now"
}
}
}
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html