2804
правки
Изменения
Перейти к навигации
Перейти к поиску
→Фильтры запросов: http://helpdesk.nemo.travel/issues/15783
Фильтры запросов работают как для маршрута "В одну сторону", так и для поиска с несколькими точками вылета и прилёта.
==== Пример фильтров запросов ====
'''Как настроить фильтры запросов, чтобы поиск запускался только по определенным аэропортам вылета и прилета?'''
Фильтр запросов поиска в текущем варианте не оставляет интересующие направления, а убирает лишние. Поэтому нужно задавать правила фильтрации запросов до тех пор, пока не будут исключены все лишние направления.
Чтобы поиск запускался только по определенным аэропортам вылета и прилета, в рамках имеющихся возможностей фильтров запросов поиска, нужно создать ряд правил.
'''Первое правило''' отсекает все лишние аэропорты вылета, оставляя только интересующие.
'''+ аэропорты вылета''': '''''Все кроме''''' (список аэропортов вылета) + '''проверять направления (плечи)''': '''''Все'''''
'''Второе правило''' отсекает все лишние аэропорты прилета, оставляя только интересующие.
'''+ аэропорты прилета''': '''''Все кроме''''' (список аэропортов прилета) + '''проверять направления (плечи)''': '''''Все'''''
Этими двумя правилами, отсекаются все лишние направления, и тогда остаются возможные варианты направлений, по которым будет запускаться поиск. Все возможные комбинации направлений для поиска определяются на основании списков аэропортов вылета и прилета, указанных в этих двух правилах.
Например, вы создали правила фильтрации запросов:
'''1.''' '''+ аэропорты вылета''': '''''Все кроме''''' (Москва, Санкт-Петербург, Екатеринбург, Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
'''2.''' '''+ аэропорты прилета''': '''''Все кроме''''' (Москва, Санкт-Петербург, Екатеринбург, Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
Значит, поиск будет запускаться по всем комбинациям возможных направлений:
{| style="width: 300px" class="wikitable"
|-
| Москва
| Санкт-Петербург
|-
| Москва
| Екатеринбург
|-
| Москва
| Тамбов
|-
| Санкт-Петербург
| Москва
|-
| Санкт-Петербург
| Екатеринбург
|-
| Санкт-Петербург
| Тамбов
|-
| Екатеринбург
| Москва
|-
| Екатеринбург
| Санкт-Петербург
|-
| Екатеринбург
| Тамбов
|-
| Тамбов
| Москва
|-
| Тамбов
| Санкт-Петербург
|-
| Тамбов
| Екатеринбург
|}
Если список возможных направлений для поиска включает также направления, по которым поиск нужно запретить, то определяется '''дополнительная группа правил фильтрации'''. Эти правила предназначены, чтобы отсечь запрещенные направления из множества возможных направлений (не затронутых первыми двумя правилами), чтобы сформировать итоговый список допустимых направлений.
Предположим запрещенными для поиска являются направления, подсвеченные красным фоном в таблице.
{| style="width: 450px" class="wikitable"
|- style="background: PaleGreen;"
|
| Москва
| Санкт-Петербург
|- style="background: PaleGreen;"
|
| Москва
| Екатеринбург
|- style="background: Salmon;"
| 3. запретить запрос поиска
| Москва
| Тамбов
|- style="background: PaleGreen;"
|
| Санкт-Петербург
| Москва
|- style="background: Salmon;"
| 4. запретить запрос поиска
| Санкт-Петербург
| Екатеринбург
|- style="background: Salmon;"
| 4. запретить запрос поиска
| Санкт-Петербург
| Тамбов
|- style="background: PaleGreen;"
|
| Екатеринбург
| Москва
|- style="background: PaleGreen;"
|
| Екатеринбург
| Санкт-Петербург
|- style="background: PaleGreen;"
|
| Екатеринбург
| Тамбов
|- style="background: PaleGreen;"
|
| Тамбов
| Москва
|- style="background: Salmon;"
| 5. запретить запрос поиска
| Тамбов
| Санкт-Петербург
|- style="background: Salmon;"
| 5. запретить запрос поиска
| Тамбов
| Екатеринбург
|}
Тогда следующие три правила будут запрещать поиск по направлениям, которые мы хотим убрать из допустимых (подсвечено красным фоном):
'''3.''' '''+ аэропорты вылета''': '''''Выбранные''''' (Москва) '''+ аэропорты прилета''': '''''Выбранные''''' (Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
'''4.''' '''+ аэропорты вылета''': '''''Выбранные''''' (Санкт-Петербург) '''+ аэропорты прилета''': '''''Выбранные''''' (Екатеринбург, Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
'''5.''' '''+ аэропорты вылета''': '''''Выбранные''''' (Тамбов) '''+ аэропорты прилета''': '''''Выбранные''''' (Санкт-Петербург, Екатеринбург) '''+ проверять направления (плечи)''': '''''Все'''''
В итоге, если необходимо, чтобы запросы поиска выполнялись по конкретным направлениям, например:
{| style="width: 450px" class="wikitable"
|- style="background: PaleGreen;"
| Москва
| Санкт-Петербург
|- style="background: PaleGreen;"
| Москва
| Екатеринбург
|- style="background: PaleGreen;"
| Санкт-Петербург
| Москва
|- style="background: PaleGreen;"
| Екатеринбург
| Москва
|- style="background: PaleGreen;"
| Екатеринбург
| Санкт-Петербург
|- style="background: PaleGreen;"
| Екатеринбург
| Тамбов
|- style="background: PaleGreen;"
| Тамбов
| Москва
|}
То для этого потребуются следующие правила:
'''+ аэропорты вылета''': '''''Все кроме''''' (Москва, Санкт-Петербург, Екатеринбург, Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
'''+ аэропорты прилета''': '''''Все кроме''''' (Москва, Санкт-Петербург, Екатеринбург, Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
'''+ аэропорты вылета''': '''''Выбранные''''' (Москва) '''+ аэропорты прилета''': '''''Выбранные''''' (Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
'''+ аэропорты вылета''': '''''Выбранные''''' (Санкт-Петербург) '''+ аэропорты прилета''': '''''Выбранные''''' (Екатеринбург, Тамбов) '''+ проверять направления (плечи)''': '''''Все'''''
'''+ аэропорты вылета''': '''''Выбранные''''' (Тамбов) '''+ аэропорты прилета''': '''''Выбранные''''' (Санкт-Петербург, Екатеринбург) '''+ проверять направления (плечи)''': '''''Все'''''
Чем больше различных аэропортов вам необходимо учесть (разрешить или запретить для поиска), тем больше правил нужно будет создать.
=== Фильтры результатов ===