Добрый день. Не получается отфильтровать организации по времени их работы.
Есть такие объекты:
{
{
id:10,
business_hours : [
{type:1,from:"0000", to:'0000'},
{type:2,from:"0900", to:'2000'},
{type:2,from:"0900", to:'2000'},
{type:3,from:"0900", to:'2000'},
.....
]
}
}
Где type:
1 - круглосуточно
2 - работает в указанный период
3 - закрыто
Первый объект в business_hours это про понедельник, дальше про вторник и т.д.
Собственно добавляю такой фильтр:
$filter = [
'bool' => [
'should' => [
[
['term' => ['business_hours.0.type' => '1']], // круглосуточно
[
'bool' => [
'must' => [
['range' => ['business_hours.0.from' => ['lte' => '1000']]],
['range' => ['business_hours.0.to' => ['gte' => '1200']]],
['term' => ['business_hours.0.type' => 2]], // активно
]
],
]
]
]
]
];
Ожидаю что данный фильтр возьмет все объекты которые работают круглосуточно
['term' => ['business_hours.0.type' => '1']], // круглосуточно
И все объекты которые в понедельник открываются раньше 10 утра и закрываются позже 12
Но почему то ничего не находится. Что я делаю не так? Может нужно как тоиндекс настроить?