0

嗨,我对弹性搜索有点陌生。我需要使用日期比较和动态范围过滤器进行聚合。

就像我需要在 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
                    }
                }
            }
        }

感谢您花时间提供帮助。

4

1 回答 1

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

于 2015-11-30T06:14:14.410 回答