Photo by Markus Spiske on Pexels.com
creative internet computer display

Поиск по карте v3.0?

В конце прошедшей недели (2 октября), после длительного затишья, на OPM вышло хоть небольшое, но очень полезное обновление: обновился «словарь тегов»

Наш «словарь тегов», который теги переводил теги в человеком-понятный текст в поиске, информации об объекте и т.д. Например тег amenity=parking переводился этим словарём как «парковка». Но писать такой «словарь» для всех существующих тегов – дело не простое, а сам «словарь» был фактически заброшен с 2021 года, изредка частично обновляясь.

Полгода назад у нас появился свой редактор карт, который имеет собственные словари, в том числе и на других языках. Теперь на главной странице OpenProvinceMap используется словарь от редактора взамен нашему недословарю. Словарь от редактора имеет практически полный перевод всех тегов, в том числе в него добавлены и наши собственные (с префиксом opm:)

Но причем тут вообще поиск по карте?!

Для вышеописанного «словаря тегов» появился ещё и обратный словарь, который переводит поисковый запрос в opm-тег key=value (только один), что позволяет найти некоторые объекты по их категории, а не только по названию.

Подобное было создано ещё в августе 2020 года, так называемый «словарь синонимов». Он позволяет найти все магазины одежды по запросу «купить скин» или вокзал Невского по запросу «жд невский». К этому словарю теперь добавлен и «обратный словарь тегов», это несколько расширяет возможности поиска. Например, по запросу «бизнес» скрипт выдаст все бизнесы, которые можно купить* (* карта не владеет информацией о занятости или свободности бизнесов).

Это вносит лишь маленький вклад в развитие скрипта поиска. Известные проблемы остаются актуальными. Среди них, например, невозможность поиска по адресу (кому это вообще надо???), а также неправильные результаты (точнее, не те, которые ожидаются), если в запросе указано название города, например, «аренда авто Невский» показывает все объекты, которые содержат одно из слов, вместо ожидаемой точки аренды автомобилей, расположенной в Невском, а всё потому, что запрос, содержащий название города, не соответствует ни одному из словарей, в то время как запрос «аренда авто» отображает все точки аренды. Вдобавок к этому появляется проблема неправильного обратного перевода нового словаря: одному «переводу» могут соответствовать несколько тегов, скрипт выбирает только первый из них. Например, «велопрокат» не выдаёт никаких результатов, в тоже время запрос «аренда велика» выдаёт точку в Приволжске (другие не отмечены). Впрочем, карта ещё будет обновляться и меняться, и всё может или уже могло измениться.

Рандомный факт: Все JS скрипты имеют условную версию, она нужна для того, чтобы при обновлении скрипта не приходилось чистить кэш браузера, а новая версия поиска получила номер 1.6.1, поскольку глобальных обновлений скрипта не было (серверная часть вообще не была затронута), добавился лишь обратный словарь. Номер в заголовке лишь говорит, что это третье более-менее крупное обновление поиска.

Что-то для мажоров о будущем обновлении…

Кроме того, сейчас готовится нечто интересное… Что это – пока секрет, но подписчики VK Donut уже знают об этом.