Сегодня в истории эластичного поиска - PullRequest
1 голос
/ 19 февраля 2020

Я хочу захватить данные в истории сегодня. Этот запрос возвращается пустым. Я хочу игнорировать годы.

"query": {
    "bool": {
      "filter": [
        {
          "range": {
            "created_at": {
              "gte": "02-15",
              "lte": "02-15",
              "format": "MM-dd"
            }
          }
        }
      ]
    }
  }

1 Ответ

0 голосов
/ 19 февраля 2020

https://www.elastic.co/blog/an-introduction-to-elasticsearch-sql-with-practical-examples-part-1 Я получил помощь из статьи.

адаптировал ее для себя здесь

{
  "query" : {
    "bool" : {
      "must" : [
        {
          "script" : {
            "script" : {
              "source" : "InternalSqlScriptUtils.nullSafeFilter(InternalSqlScriptUtils.eq(InternalSqlScriptUtils.dateTimeChrono(InternalSqlScriptUtils.docValue(doc,params.v0), params.v1, params.v2),params.v3))",
              "lang" : "painless",
              "params" : {
                "v0" : "created_at",
                "v1" : "Z",
                "v2" : "DAY_OF_MONTH",
                "v3" : 15
              }
            }
          }
        },
        {
          "script" : {
            "script" : {
              "source" : "InternalSqlScriptUtils.nullSafeFilter(InternalSqlScriptUtils.eq(InternalSqlScriptUtils.dateTimeChrono(InternalSqlScriptUtils.docValue(doc,params.v0), params.v1, params.v2),params.v3))",
              "lang" : "painless",
              "params" : {
                "v0" : "created_at",
                "v1" : "Z",
                "v2" : "MONTH_OF_YEAR",
                "v3" : 2
              }
            }
          }
        }
      ]
    }
  }
}

так я решил проблема. может быть, это будет работать для кого-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...