当前位置: 首页 > 面试题库 >

Elasticsearch日期查询。在某个月出生的人

傅毅然
2023-03-14
问题内容

我有一个具有以下映射的字段:

birthdate: { type: :date, format: :dateOptionalTime }
  1. 我需要找到每个在五月(包括所有年份)出生的人
  2. 另一个查询是查找所有在“ 8月25日”出生的人(包括所有年份)

这将是什么查询?


问题答案:

您可以使用过滤器来实现script

每年5月出生的所有人:

{
  "query": {
    "filtered": {
      "filter": {
        "script": {
          "script": "doc.birthdate.date.monthOfYear == 5"
        }
      }
    }
  }
}

所有8月25日出生的人(每年)

{
  "query": {
    "filtered": {
      "filter": {
        "script": {
          "script": "doc.birthdate.date.monthOfYear == 8 && doc.birthdate.date.dayOfMonth == 25"
        }
      }
    }
  }
}


 类似资料:
  • 本文向大家介绍iOS获取某个日期后n个月的日期,包括了iOS获取某个日期后n个月的日期的使用技巧和注意事项,需要的朋友参考一下 一、给一个时间,给一个数,正数是以后n个月,负数是前n个月; 二、设置你需要增加或减少的年、月、日即可获得新的日期,上述的表示获取mydate日期前一个月的日期,如果该成+1,则是一个月以后的日期,以此类推都可以计算。 总结 以上所述是小编给大家介绍的iOS获取某个日期后

  • 问题内容: 伙计们,我需要列出上个月的所有日期,如下所示 请让我知道是否有比此查询更好的方法。 还请让我知道此查询的问题,它说 “缺少右括号” 强调文字 问题答案: 听起来你想要这样的东西

  • 问题内容: 我想在表中选择所有记录,这些记录的输入日期早于2个月。 知道我该怎么做吗? 我还没有尝试过任何东西,但是我在这一点上: 问题答案: 如果您使用的是SQL Server,请尝试以下操作: 根据您的更新,它将是:

  • 问题内容: 以下range_query返回预期结果: 但是,与多个范围查询一起,则不会返回任何内容: 在多个字段上使用多个range_queries的正确方法是什么? 编辑: 啊,好的,所以这是我使用range_filter而不是range_query的地方?这听起来很有希望,所以我仅使用一个范围过滤器重新编写了查询。如果我在其他地方弄乱了查询,请在此处发布所有内容。我正在执行GET,并且源密钥中

  • 问题内容: 我存储的文档包含两个字段,即startDate和endDate。我想使用输入日期运行Elastic查询,并返回其startDate和endDate包含该日期的所有文档。例如, 如果我输入的日期为2015-01-02,则此文档应出现在结果中,因为输入的日期在开始日期和结束日期字段的范围内。 我可以使用一个字段进行范围查询,但由于范围仅接受一个,因此我不知道如何使用两个日期字段: 我还需要

  • 我试图得到两个日期的millis值并将它们减去另一个。当我使用ctx._sourse.begin_time.toInstant(). toEpochMilli()像它给我运行时错误。和(像这样使用现有列值更新弹性搜索的所有文档)给我运行时错误 < code>ctx的类型。_source如果此代码工作正常< code > doc[' begin _ time ']. value . to insta