Фильтрация условий запроса DSL с помощью скрипта для дня по числовому значению

В aggs я могу получить сегменты по дням недели, которые представлены числовыми (1-7) ключами, используя что-то вроде этого:

"aggs" : {
      "group_by_day" :{
        "terms": {
          "script": "doc['@timestamp'].date.dayOfWeek",
            "order": {
                "_key": "asc"
            }
        }
      }
  }

однако я ищу способ добавить в предложение условий фильтрации запросов что-то вроде этого, чтобы показывать результаты только в понедельник или вторник, и не смог получить это:

я пытался

    {
      "terms": {
          "script":"doc['@timestamp'].date.dayOfWeek"
      }
    }

и использование тега script, похоже, не поддерживается в терминах запроса? по крайней мере, как я пытаюсь его использовать. Есть ли другой способ получить фильтрацию с помощью скрипта или другой подход (лучше), чтобы получить то, чего я пытаюсь достичь? Я использую 6.2... спасибо!


person Justin    schedule 02.04.2018    source источник


Ответы (1)


Вот:

"script":{
   "script": {
       "source": "doc['@timestamp'].date.dayOfWeek == 1"
    }
}

Там, где я просто обрабатываю преобразование строки в числовое значение вне этого запроса, это находится в предложении query.bool.must.

person Justin    schedule 03.04.2018