GH GambleHub

Глобальный поиск и фильтрация

1) Роль глобального поиска

Глобальный поиск — это «командная палитра» продукта: единая точка входа к сущностям (игры, провайдеры, отчеты, акции), действиям («пополнить», «открыть кошелек») и справке. Хороший поиск:
  • понимает намерение (entity vs action),
  • приводит к результату ≤ 1–2 клика,
  • устойчив к ошибкам ввода и синонимам,
  • безопасен и учитывает права доступа.

Принципы: relevance > completeness, latency < 200 мс до первых подсказок, прозрачные фильтры и сортировки.

2) Сущности и намерения (Intent Model)

Классы запросов:
  • Сущности: игра, провайдер, турнир, отчет, платежный метод.
  • Действия: «депозит», «вывод», «создать отчет», «пригласить аффилиата».
  • Навигация: «кошелек», «профиль», «настройки».
  • Справка: «RTP», «лимиты», «KYC уровни».

UX-паттерн: тип результата помечайте бэйджем (Игра / Провайдер / Действие / Справка), сверху — наиболее вероятный тип по контексту (страна, роль, история).

3) Входные точки и форм-факторы

Строка в шапке (desktop) + хоткей `⌘/Ctrl + K` — открывает палитру.
Иконка/поиск в таб-баре (mobile) — полноэкранный модал.
Контекстные мини-поиски: внутри каталога фильтруют текущий список.
Плейсхолдер-подсказка: «Найдите игру, провайдера или действие…».

4) Подсказки и автодополнение

Появляются через 150–250 мс, топ-N популярных/недавних.
Секции результатов: «Недавние», «Популярные», «Сущности», «Действия», «Справка».
Подсветка совпадений (highlight), диакритика и транслит (Pragmatic/Прагматик).
Поддержите ошибки (fuzzy) и синонимы («вывод»=«withdrawal», «cashout»).
Keyboard-UX: стрелки/Enter/Tab; на мобайле — крупные таргеты.

5) Фильтрация и фасеты

Фасеты (facets) — осмысленные измерения:
  • Для игр: провайдер, механика (Megaways, cluster), волатильность, RTP, категория (Live/Slots/Crash), теги.
  • Для отчетов: период, оператор, гео, валюта, статус.
  • Для акций/турниров: даты, ставки, участники, призы.
UX-паттерны:
  • Чип-фильтры над результатами (выбранные фасеты видны всегда).
  • Multi-select в выпадающих списках; счетчики рядом с опциями.
  • «Сбросить все» и «Сохранить как пресет».
  • На мобайле — sheet с фасетами и кнопкой «Показать результаты».

6) Расширенный синтаксис (по желанию)

Поддержите легкий Query DSL:
  • `provider:"Pragmatic Play"`, `rtp:>=96`, `volatility:high`
  • `type:live`, `tag:"buy bonus"`
  • `market:CA currency:CAD`
  • Автодополнение подсказывает ключи/значения; пользователи-пауэрюзеры экономят время.

7) Ранжирование (Relevance)

Сигналы:
  • Точность совпадения (title, alias, синонимы).
  • Популярность/конверсия (клики→игра/депозит).
  • Персональный контекст (история, избранное, недавние).
  • Доступность по ролям/юрисдикциям.
  • Свежесть (новые релизы/акции — boost ограниченно по времени).

Отображайте пояснение при изменении порядка («Новые релизы выше в течение 7 дней»).

8) Пустые и пограничные состояния

Нет результатов: предложите снять/ослабить фильтры, показать популярное в текущей категории, ссылку на помощь.
Слишком общий запрос: попросите уточнить (показать «категории»).
Ошибки сети: офлайн-текст, retry, сохранение набранной строки.
Ограничения доступа: «Недоступно в вашем регионе/роли» с CTA «Подробнее».

9) Безопасность, права и комплаенс

RBAC/тенантность: индекс и результаты — только из доступного пространства.
Geo-guard: скрывайте недоступные рынки/игры.
PII-минимизация: не выводить персональные данные в подсказках.
Журнал запросов (обезличенный) для аудита и улучшения качества.
Фильтруйте запросы на запрещенные ключевые слова (бренд-гайды, юридические риски).

10) Производительность и архитектура

Время до первых подсказок ≤ 200 мс, до первых результатов ≤ 300–400 мс.
ИНДЕКС: инкрементальные обновления, словари синонимов, n-gram/edge-ngrams для префиксов.
Кэширование популярных запросов и подсказок.
Debounce 150–250 мс, отмена устаревших запросов (abort/timeout).
SSR/стриминг для первого экрана каталога; затем клиентская фильтрация.
Виртуализация длинных списков результатов.
Локальные индексы (Web Worker) для клиентской фильтрации уже загруженных наборов.

11) Доступность и локализация

Роль `combobox`/`listbox`, корректные `aria-`, чтение количества результатов.
Фокус-менеджмент: возврат к строке поиска, Esc — закрыть, Enter — перейти.
RTL: зеркалируйте порядок чипов и позицию иконок.
Термины и фасеты локализованы, числовые форматы и валюты — по региону.

12) Телеметрия и метрики

События:
  • `search_open`, `search_type` (entity/action), `suggest_impression/click`,
  • `query_submit`, `facet_apply/remove`, `preset_save/apply`,
  • `result_click` (rank, id), `no_results`, `latency_ms`.
KPI:
  • Query → Result Click-Through (qCTR).
  • Time-to-Result (первый клик/Enter).
  • Zero-Result Rate (ZRR) и доля спасенных «пустых».
  • Facet Adoption %, Preset Adoption %.
  • Action Success % (для намерений «депозит», «вывод»).
  • Latency p95 подсказок и полной выдачи.

13) A/B-эксперименты

Порядок секций результатов (сущности vs действия).
Стратегия ранжирования (популярность vs свежесть).
Сетка/лист результатов, количество подсказок.
Варианты фраз в плейсхолдере/пустом состоянии.
Чип-фильтры сверху vs в боковой панели (desktop).

Guardrails: INP/CLS, ZRR, жалобы/ошибки, RBAC-утечки = 0.

14) Паттерны по сценариям (iGaming)

Найти игру: ввод названия/провайдера → подсказки (игры, провайдеры, теги). Фасеты: категория, провайдер, волатильность, RTP. Быстрые действия: «Демо», «Играть».
Платежные действия: `депозит`, `вывод` → действия первыми. Диплинк в кошелек с сохранением контекста.
Отчеты оператора: `ngr`, `arpdau` → сущности «Отчеты», фасеты период/оператор/валюта; пресеты: «Сегодня», «Прошлая неделя».
Справка/политики: `RTP`, `лимиты`, `KYC` → статьи/FAQ, «связаться в чат».

15) Антипаттерны

Результаты без типов (пользователь не понимает, что открывает).
Подсказки с задержкой > 500 мс (пользователь «теряет ритм»).
Фильтры без видимой индикации активных условий.
Сброс состояния при «назад» (теряется строка и фасеты).
Поиск, возвращающий сущности без прав и с «доступ запрещен» по клику.
Игнорирование опечаток/синонимов, отсутствие транслита.

16) Чек-лист внедрения (пошагово)

1. Каталог сущностей и действий (ID, алиасы, синонимы, права).
2. Индекс и ранжирование: правила, скоупы, бусты (свежесть/популярность).
3. Подсказки/автодополнение: дебаунс, подсветка, история/популярное.
4. Фасеты и чипы: multi-select, счетчики, «сброс», пресеты.
5. Пустые/ошибки: тексты, альтернативы, офлайн-режим.
6. Перформанс: кэш, отмена запросов, виртуализация, p95-цели.
7. A11y/локаль: роли ARIA, клавиатура, RTL, термины.
8. Телеметрия и A/B: qCTR, ZRR, Time-to-Result, эксперименты.
9. Безопасность: RBAC в индексе и выдаче, логи аудита.
10. Документация: словарь фасетов, примеры запросов, гайдинг для копирайта.

17) Итог

Глобальный поиск и фильтрация — это не одна строка, а экосистема быстрого нахождения. Побеждает то решение, которое:

1. точно понимает намерение и ранжирует по полезности,

2. отрабатывает мгновенно (подсказки ≤ 200 мс),

3. дает прозрачные фасеты и сохраняет контекст,

4. уважает права/гео и говорит понятным языком,

5. меряет качество (qCTR/ZRR/Time-to-Result) и постоянно улучшается через A/B.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Telegram
@Gamble_GC
Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

Нажимая кнопку, вы соглашаетесь на обработку данных.