Предположим, у меня есть такой документ (события):
[
{
"title": "Foo",
"dates": [
"2019-07-01",
"2019-07-15",
"2019-08-01"
]
},
{
"title": "Bar",
"dates": [
"2019-07-18"
]
}
]
И я хочу выполнить поиск, который найдет все события, происходящие в данном диапазоне дат, поэтому я ищу все происходящие событиямежду 10 июля (2019-07-10) и 10 августа (2019-08-10).
Запрос не будет проблемой, но если я хочу отображать события в порядке возрастания(поэтому событие "Foo" ранжируется раньше, потому что 15 июля наступает раньше 18-го) - как мне правильно это отсортировать?
Я думал об использовании сценария для сортировки моих документов, возможно, путем фильтрации датпоэтому остаются только действительные даты, а затем используйте метку времени из первого значения даты, чтобы выполнить простое числовое упорядочение.Но как мне отфильтровать даты по сценарию?
Могу ли я использовать «поле сценария» и передать мои fromDate и toDate, чтобы скопировать отфильтрованные даты в новое поле (скажем, validDates) и использовать поле THAT длясортировка?
КСТАТИ: индекс будет содержать только несколько тысяч событий.
ОБНОВЛЕНИЕ:
После некоторых исследований, похоже, что это не может бытьсделано без использования вложенных объектов вместо массивов.Пожалуйста, исправьте меня, если я ошибаюсь, я бы предпочел использовать простой массив дат над вложенным типом ...