Як працює пошук на Karpaty.Rocks

Пошук, який розуміє Карпати: відмінки, синоніми, «що + де», латиницю й три мови — а поруч ШІ-гід, що шукає за змістом.

Як він працює · де живуть дані · скільки в нас координат

Коли ви пишете в пошуку «ринок у Яремчі», за пів секунди відбувається чимало: слова позбуваються закінчень, «ринок» стає ще й «базаром» і «ярмарком», «Яремчі» впізнається як місто, а з тисяч документів вибираються ті, що справді в Яремчі або поруч. Ця сторінка — про те, як це влаштовано. А ще про дані, на яких усе тримається: їх у нас стільки, що найпростіше їх показати.

622 504координат зберігає Karpaty.Rocks. Кожна цятка тут — одна справжня.

1 / 5

Хмара справжніх координат

Тут усе, що знає сайт: садиби й готелі, вершини, водоспади, джерела, колиби, села — і сотні тисяч GPS-координат, записаних на маршрутах. Гортайте далі.

2 / 5

Карпати, намальовані даними

Кожна цятка стає на свою широту, довготу й висоту. Підкладки карти тут немає: хребти Чорногори, Горган і Свидовця малюють самі треки. Висоту збільшено, щоб рельєф читався.

3 / 5

Що саме ми зберігаємо

Ті самі цятки, розкладені за типами. Висота стовпчика — кількість у логарифмічній шкалі, інакше треки затулили б усе інше.

  • GPS-координати треків маршрутів613 703
  • Житло3 209
  • Джерела2 331
  • Притулки й колиби1 175
  • Пам’ятки й цікаві місця1 255
  • Населені пункти773
  • Вершини255
  • Крафтові місця210
  • Водоспади й озера63
4 / 5

Кожен маршрут — сотні координат

Маршрут — це не лінія на картинці, а ряд координат із висотою кожної. З них ми рахуємо довжину, набір висоти й будуємо профіль.

с. Лазещина, через Козьмещик до г. Говерла

5 / 5

Спробуйте пошук

Напишіть запит — і побачите, що робить пошук: слова, основи, синоніми, місце, кількість результатів. Знайдене засвітиться на рельєфі.

Спробуйте:

Один пошук для всього сайту

Пошукове поле в шапці, сторінка результатів і каталог із фільтрами працюють на одному й тому самому ядрі. Тому порядок і кількість результатів скрізь однакові: якщо у віконці під полем написано «Водоспади · 42», то й на сторінці результатів, і в каталозі буде ті самі 42 — у тому самому порядку.

Як пошук розуміє, що ви мали на увазі

  • 1. СловаЗапит ділимо на слова й прибираємо службові: «у», «на», «біля».
  • 2. ОсновиВідкидаємо закінчення: «Яремчі» → «яремч», «ринку» → «ринк».
  • 3. Синоніми«Ринок» шукає й «базар», «ярмарок»; «гук» — водоспад.
  • 4. МісцеУпізнаємо місто, село чи область і шукаємо в ньому та поруч.
  • 5. ПорядокСпершу те, що названо прямо, далі ближче до місця й популярніше.

Відмінки. Українська мова змінює слова, і людина пише так, як говорить: «на Буковелі», «біля Говерли», «у Львові». Пошук відкидає закінчення й шукає основу — тому «Буковелі» знаходить Буковель, а «Говерли» — Говерлу. Він знає й про голосні, що випадають: «ринок — ринку», «замок — замку», «вітер — вітру».

Синоніми. У невеликому словнику зібрано слова, які люди вживають навзамін: ринок, базар, ярмарок, вернісаж; замок, фортеця, палац; церква, храм, собор; джерело, криниця; притулок, хижа. Є й «однобічні» слова: «гук» (так у горах кажуть про водоспад) веде до водоспадів, але слово «водоспад» не знаходить усе, де трапляється «гук».

Латиниця й розкладка. Написали «Hoverla» чи «bukovel» — пошук прочитає це кирилицею й покаже Говерлу та Буковель. А якщо забули перемкнути клавіатуру й вийшло «ujdthkf», сторінка результатів підкаже: «Можливо, ви мали на увазі Говерла».

«Що + де». Запит «ринок яремче» пошук розкладає на «що» (ринок) і «де» (Яремче). Спершу шукає те, що є саме в Яремчі; якщо там нічого немає — те саме в радіусі 25 кілометрів, найближче першим, з позначкою «поблизу».

Головний результат. Коли запит називає одне конкретне місце, нагорі з’являється картка з найважливішим: для вершини — висота, масив, маршрути на неї й погода; для міста — що є поблизу й найвідоміші місця; для пам’ятки — адреса й години роботи. Нижче — пов’язане за відстанню: маршрути, житло й цікаве поруч, з кілометрами.

Чому це швидко

Усі розділи результатів — пам’ятки, крафт, вершини, маршрути, житло — пошук просить в одному пакетному запиті, а не по черзі. Порядок рахує один невеликий скрипт просто всередині пошукового рушія, тож не треба тягнути тисячі документів, щоб їх сортувати. Готову відповідь ми пам’ятаємо 10 хвилин: популярні запити на кшталт «Говерла» чи «Буковель» віддаються миттєво.

ШІ-гід поруч із пошуком

Звичайний пошук шукає слова. Але на запитання «куди поїхати з дітьми, щоб було не важко й гарно» слів-збігів не буде. Для цього поруч зі звичайними результатами працює ШІ-гід.

Кожен об’єкт — садибу, вершину, маршрут, водоспад — ми заздалегідь перетворили на «смисловий відбиток»: ряд із 1024 чисел, який описує, про що цей об’єкт. Робить це багатомовна модель, що працює на нашому власному сервері, тож відбитки в української, англійської й польської версій сумісні. Коли ви ставите запитання, воно теж стає таким відбитком, і пошуковий рушій знаходить найближчі за змістом об’єкти — спершу поблизу того місця, про яке йдеться. Уже з цих справжніх об’єктів мовна модель OpenAI складає відповідь, а під нею — картки з нашої бази. Гід не вигадує місць: він показує лише те, що є на сайті.

Як ми зберігаємо дані

  • Drupal — основа вмістуТут живуть місця, маршрути, вершини, житло, крафт і блог: тексти, фото, контакти, переклади. Тут їх пишуть і правлять редактори.
  • Elasticsearch — пошук і картиКожен матеріал після збереження потрапляє в пошуковий індекс. Звідти беруть дані пошук, каталог, карти й ШІ-гід.
  • GPS-треки з висотоюМаршрут зберігаємо повним треком: кожна координата з висотою. З них — довжина, набір висоти, профіль і проліт у 3D.
  • Фото в хмарному сховищіОригінали фотографій лежать в об’єктному сховищі й віддаються через нашу мережу доставки (CDN) — швидко з будь-якої країни.

Що таке Elasticsearch простими словами. Згадайте предметний покажчик наприкінці товстої книжки: щоб знайти «Говерла», не треба гортати всі сторінки — дивитеся слово й одразу бачите номери сторінок. Elasticsearch будує такий покажчик для кожного слова, кожної основи й кожної координати всіх наших документів, тож відповідає за частки секунди, хоч би скільки їх було.

Координати — теж частина покажчика. Кожне місце має географічну позначку, і рушій уміє відповідати на запитання «що в радіусі 5 кілометрів від Яремча» (так будується блок «поруч»), «що видно в цьому прямокутнику карти» (так малюються карти, коли ви їх рухаєте) і «скільки чого де» — підсумки за категоріями й містами одним запитом (так з’являються лічильники розділів і кнопки з назвами міст).

Карти. Карти на сайті — векторні, на відкритій бібліотеці MapLibre: схема з відкритих даних OpenStreetMap, супутникові знімки й справжній 3D-рельєф із відкритої моделі висот. Частину джерел і колиб ми взяли з OpenStreetMap і доповнили власною перевіркою.

Karpaty.Rocks у цифрах

Ці числа сервер рахує сам — прямо з бази й пошукового індексу — і оновлює кілька разів на добу.

  • 622 504Усього координат
  • 324 503GPS-координати треків маршрутівз висотою кожної; + 289 200 в архівних треках
  • 23 588Кілометри маршрутів813 маршрутів
  • 4 522Місця з позначкою на карті
  • 16 113Документи в пошуковому індексіElasticsearch
  • 11 016Смислові вектори для ШІ-гіда1024 виміри кожен
  • 49 605Фотографії
  • 3 209Житло
  • 1 255Пам’ятки й цікаві місця
  • 255Вершини
  • 63Водоспади й озера
  • 2 331Джерела
  • 1 175Притулки й колиби
  • 210Крафтові місця
  • 773Населені пункти

Станом на 20 жовтня 2026. Координати = місця з позначкою на карті, джерела й колиби, населені пункти та кожна GPS-координата треків.

Три мови

Сайт працює українською, англійською й польською. У кожної мови свої закінчення — пошук знає польські й англійські форми слів, має окремі словники синонімів, а результати показує мовою сторінки. Українські назви місць англійською й польською ми не перекладаємо дослівно, а транслітеруємо: Яремче — Yaremche, Jaremcze.

Спробуйте самі

Відкрийте пошук і напишіть щось по-людськи: «водоспади біля Яремча», «сироварня», «Hoverla». Подивіться все на великій карті або почитайте про Karpaty.Rocks. Знайшли помилку чи бракує місця? Напишіть нам — виправимо.

А всі наші координати можна покрутити й дослідити самому: Карпати в 3D.