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, синоніми).
  • Популярність/конверсія (kliki→igra/depozit).
  • Персональний контекст (історія, вибране, недавні).
  • Доступність за ролями/юрисдикціями.
  • Свіжість (нові релізи/акції - 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. А11у/локаль: ролі 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).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.