как фильтровать с помощью скрипта вasticsearch - PullRequest
0 голосов
/ 25 октября 2019

Мне нужно искать что-то вроде этого

POST dev_profiles/profiles/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "query_string": {
            "query": "user:asd"
          },
          "script_fields": {
            "message_age": {
              "script": {
                "source": "return doc.createdAt.value.getHour() == params.h",
                "params": {
                  "h": 9
                }
              }
            }
          }
        }
      ]
    }
  }
}

, но я не могу правильно построить запрос. Может ли кто-нибудь помочь?

В этом случае выдает ошибку [query_string] неправильно сформированный запрос, ожидается [END_OBJECT], но найдена [FIELD_NAME] версияasticsearch 6.8

1 Ответ

1 голос
/ 25 октября 2019

Запрос, который вы ищете, выглядит так:

{
  "query": {
    "bool": {
      "filter": [
        {
          "match": {
            "user": "asd"
          }
        }
        {
          "script": {
            "script": {
              "source": "return doc.createdAt.value.getHour() == params.h",
              "params": {
                "h": 9
              }
            }
          }
        }
      ]
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...