How search works on Karpaty.Rocks
A search that understands the Carpathians: word forms, synonyms, «what + where», Latin spelling and three languages — with an AI guide next to it that searches by meaning.
How it works · where the data lives · how many coordinates we keep
When you type «market in Yaremche», a lot happens in half a second: the words lose their endings, «market» also becomes «bazaar» and «fair», «Yaremche» is recognised as a town, and out of thousands of documents the search picks those that really are in Yaremche or nearby. This page explains how it works — and shows the data behind it. There is so much of it that the easiest way is to show it.
622,504coordinates are stored by Karpaty.Rocks. Every dot here is a real one.
A cloud of real coordinates
Everything the website knows: guest houses and hotels, peaks, waterfalls, springs, huts, villages — and hundreds of thousands of GPS coordinates recorded on the trails. Keep scrolling.
The Carpathians drawn by data
Every dot moves to its own latitude, longitude and altitude. There is no base map: the ridges of Chornohora, the Gorgany and Svydovets are drawn by the tracks themselves. Altitude is exaggerated so the relief reads.
What exactly we keep
The same dots sorted by type. Column height is the count on a logarithmic scale — otherwise the tracks would hide everything else.
- GPS coordinates of trail tracks613,703
- Places to stay3,209
- Springs2,331
- Shelters and huts1,175
- Sights1,255
- Settlements773
- Peaks255
- Craft places210
- Waterfalls and lakes63
Every trail is hundreds of coordinates
A trail is not a line in a picture but a row of coordinates, each with its altitude. From them we count the length and the ascent and draw the profile.
Try the search
Type a query and see what the search does: words, stems, synonyms, the place, the number of results. What it finds lights up on the relief.
One search for the whole website
The search field in the header, the results page and the catalogue with its filters all run on the same core. That is why the order and the counts are the same everywhere: if the box under the field says «Waterfalls · 42», the results page and the catalogue show the same 42, in the same order.
How the search understands what you meant
- 1. WordsThe query is split into words; small words like «in», «near», «the» are dropped.
- 2. StemsEndings are removed: «waterfalls» → «waterfall», Ukrainian «Яремчі» → «яремч».
- 3. Synonyms«Market» also looks for «bazaar» and «fair»; «castle» for «fortress».
- 4. PlaceA town, village or region is recognised; the search looks in it and nearby.
- 5. OrderFirst what you named directly, then what is closer to the place and more popular.
Word forms. Ukrainian and Polish change word endings all the time, and people type the way they speak. The search removes endings and looks for the stem, so any form of «Bukovel» or «Hoverla» finds the right place. It even knows about vowels that drop out in Ukrainian words (ринок — ринку, «market»).
Synonyms. A small dictionary holds words people use for the same thing: market, bazaar, fair; castle, fortress, palace; church, cathedral, monastery; lake, tarn. Some words lead one way only: «hut» finds shelters, but «shelter» does not drag in everything with «hut» in its name.
Latin spelling and keyboard layout. On the Ukrainian version, «Hoverla» or «bukovel» typed in Latin letters is read in Cyrillic and finds Говерла and Буковель. If someone forgot to switch the keyboard and typed «ujdthkf», the results page suggests «Did you mean Говерла».
«What + where». A query like «market yaremche» is split into «what» (market) and «where» (Yaremche). The search first looks for markets in Yaremche itself; if there are none, it shows the same within 25 kilometres, nearest first, marked «nearby».
The top result. When a query names one specific place, a card with the essentials appears on top: for a peak — its height, range, trails to the summit and the weather; for a town — what is nearby and its best-known sights; for a sight — the address and opening hours. Below it come related things by distance: trails, stays and sights nearby, with kilometres.
Why it is fast
All sections of the results — sights, craft, peaks, trails, stays — are requested in one batch, not one by one. The ranking is computed by a small script right inside the search engine, so there is no need to pull thousands of documents out just to sort them. A finished answer is kept for 10 minutes, so popular queries like «Hoverla» or «Bukovel» come back instantly.
The AI guide next to the search
Ordinary search looks for words. But a question like «where to go with children so that it is easy and beautiful» has no matching words. That is what the AI guide next to the usual results is for.
Every object — a guest house, a peak, a trail, a waterfall — has been turned in advance into a «meaning fingerprint»: a row of 1024 numbers that describes what the object is about. A multilingual model running on our own server does this, so the fingerprints of the Ukrainian, English and Polish versions are compatible. Your question becomes such a fingerprint too, and the search engine finds the objects closest in meaning — first near the place you are asking about. From these real objects an OpenAI language model writes the answer, with cards from our database under it. The guide does not invent places: it shows only what is on the website.
How we store the data
- Drupal — the content basePlaces, trails, peaks, stays, craft and the blog live here: texts, photos, contacts, translations. Editors write and correct them here.
- Elasticsearch — search and mapsEvery item goes into the search index when it is saved. Search, the catalogue, the maps and the AI guide all take their data from there.
- GPS tracks with altitudeA trail is kept as its full track: every coordinate with its altitude. From them come the length, the ascent, the profile and the 3D fly-through.
- Photos in cloud storageOriginal photos live in object storage and are delivered through our own content delivery network (CDN) — fast from any country.
Elasticsearch in plain words. Think of the index at the back of a thick book: to find «Hoverla» you do not leaf through every page — you look up the word and see the page numbers at once. Elasticsearch builds such an index for every word, every stem and every coordinate of all our documents, so it answers in a fraction of a second, however many there are.
Coordinates are part of the index too. Every place has a geographic point, and the engine can answer «what is within 5 kilometres of Yaremche» (that is how the «nearby» blocks are built), «what is inside this rectangle of the map» (that is how the maps are drawn as you move them) and «how many of what, where» — totals by category and town in one request (that is how section counters and town buttons appear).
Maps. The maps on the website are vector maps built on the open MapLibre library: a scheme from OpenStreetMap open data, satellite imagery and real 3D relief from an open elevation model. Some of the springs and huts come from OpenStreetMap, checked and completed by us.
Karpaty.Rocks in numbers
The server counts these numbers itself — straight from the database and the search index — and refreshes them several times a day.
- 622,504Coordinates in total
- 324,503GPS coordinates of trail trackseach with its altitude; + 289,200 in archive tracks
- 23,588Kilometres of trails813 trails
- 4,522Places marked on the map
- 16,113Documents in the search indexElasticsearch
- 11,016Meaning vectors for the AI guide1024 dimensions each
- 49,605Photos
- 3,209Places to stay
- 1,255Sights
- 255Peaks
- 63Waterfalls and lakes
- 2,331Springs
- 1,175Shelters and huts
- 210Craft places
- 773Settlements
As of 20 October 2026. Coordinates = places marked on the map, springs and huts, settlements and every GPS coordinate of the tracks.
Three languages
The website works in Ukrainian, English and Polish. Each language has its own endings — the search knows Polish and English word forms, has separate synonym lists and shows results in the language of the page. Ukrainian place names are not translated word for word in English and Polish but transliterated: Яремче — Yaremche, Jaremcze.
Try it yourself
Open the search and type something the way you would say it: «waterfalls near Yaremche», «cheese», «Hoverla». See everything on the big map or read about Karpaty.Rocks. Found a mistake or a missing place? Write to us — we will fix it.
And you can spin and explore all our coordinates yourself: the Carpathians in 3D.
