繁体   English   中英

Elasticsearch 2.4 post_filter日期数学

[英]Elasticsearch 2.4 post_filter date math

在Elasticsearch 2.4查询中使用带有date mathpost_filter ,如下所示:

"post_filter": {
        "bool": {
            "must": [
                [
                    {
                        "range": {
                            "facets.due_date": {
                                "gte": "now+2d\/d",
                                "lte": "now+3d\/d-1s"
                            }
                        }
                    }
                ]
            ]
        }
    }

结果包括日期超出范围1天的文档。 在报告桶的正确计数的聚合中使用完全相同的值(在这种情况下为星期六的2个文档),但是,当我应用上述过滤器时提到的3个文档被返回[额外的文档是针对星期日的早上9点]。 日期是任意的,我可以在几天内改变它们,同样的事情发生。 我也是在UTC时间,并且在我的测试中允许通过在值中添加/删除几个小时来绕过时区引发的任何错误。

如果我使用一组实际的具体日期,它按预期工作,所以我的问题是, post_filter是否有date math的问题/错误,或者有没有办法使用explain来显示post_filter发送到ES服务器的日期?

在此先感谢,我已经将头撞在砖墙上3天!

因此,原来使用一些非常奇怪的原因, lte在周围的文件后过滤器捕获,而如果我使用lt那么它将按预期工作,我没有一个线索,这是为什么这样做,我只能假设某些圆整走应用post_filter时的位置,但在计算聚合时不会舍入!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM