【问题标题】:Elastic Search Date Math Issue, unsure of bounds弹性搜索日期数学问题,不确定范围
【发布时间】:2017-07-18 06:31:35
【问题描述】:

我正在尝试从数据库中查询大量记录,但对日期数学有点困惑。这是我的一个块的示例:

 var searchParams = {
                    "query": {
                        "bool" : {
                            "must" : [
                                { "term": {  } },
                                { "term": {  } },
                                { "range": {
                                    "dateUTC": {
                                        "gt": "now-7d/d",
                                        "lt": "now/d",
                                    "format": "basic_date_time"
                                    }
                                }
                                }
                            ]
                        }
                    }
                };

现在,如果我只想查询今天的所有结果,我会使用 gt: now-1d/d, lt: now/d.或者我会使用 gt: now-2d/d, lt: now/d,就像一天左右的边缘一样?我正在尝试制作的程序旨在查询今天、昨天等从当天开始到当天午夜的所有结果,我是否必须为此切换我的日期数学?

谢谢

【问题讨论】:

    标签: javascript elasticsearch


    【解决方案1】:

    我认为这篇文章回答的很清楚:https://discuss.elastic.co/t/several-date-math-questions/27453/3

    回答你的问题:

    • “仅查询今天的所有结果”:gt: now/d, lt:now
    • 从今天午夜到两天前的午夜:gt:now - 2d/d, lt:now/d

    这里的 /d 取公式中计算的日期,并将时间调整为午夜,所以如果现在是 7 月 18 日 00:31:43now/d 产生 7 月 18 日 00:00:00

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 2018-10-13
      相关资源
      最近更新 更多