
Когда пользователь открывает RuStore и вводит запрос вроде «тренировки дома» или «обои с кошками», он ищет не конкретное приложение, а способ решить задачу. Наша цель, как стора, — понять, какое приложение действительно поможет ему это сделать.
За этим стоит сложный ML-пайплайн: сначала модель отбирает кандидатов по смысловой близости запроса, затем ранжирует их по релевантности. А поисковые теги помогают системе уловить контекст — в каких ситуациях и по каким запросам ваше приложение должно оказаться в топе выдачи.
Меня зовут Анастасия Войцешко, я продакт-менеджер в RuStore. В этой статье расскажу, как устроен поиск внутри стора, какую роль теги играют и как подобрать их так, чтобы повысить шансы приложения попасть в релевантную выдачу.
Как устроен поиск в RuStore
Чтобы пользователь быстрее находил именно то, что ему нужно, поиск в RuStore работает в два этапа — retrieval и ranking. Первый отвечает за отбор кандидатов, второй — за их упорядочивание.
Retrieval
На этапе retrieval система формирует список приложений, которые по смыслу и тексту максимально близки к запросу. Например, при поиске «тренировки дома» в выборку попадут фитнес-приложения, трекеры активности и сервисы для йоги.
Retrieval начинается с нормализации запроса: он приводится к базовой форме, чтобы сравнивать не отдельные слова, а смысл. Базовая форма — это, например, когда слово «бегаю» или «бегал» приводится к общему корню «бег». Благодаря этому система понимает, что все варианты относятся к одной теме.
Далее включаются два независимых механизма:
-
Лексический поиск проходит по словам запроса через обратный индекс и находит карточки приложений, где эти слова встречаются. Под анализ попадает (название, описание и теги).
-
Семантический поиск строится на эмбеддингах — это такие числовые представления текста, которые отражают его смысл. Например, у слов «бег» и «тренировка» эмбеддинги будут близкими: система «понимает», что оба они относятся к спорту, хотя сами слова разные.
В RuStore эмбеддинги заранее вычисляются для карточек приложений на основе информации о приложении. Когда пользователь вводит запрос, для него создаётся собственный эмбеддинг, и далее он сравнивается с эмбеддингами из каталога приложений.
Результаты обоих подходов объединяются в общий пул кандидатов.
Ranking
На этапе ranking система решает, какие из найденных кандидатов окажутся выше в поисковой выдаче. За это отвечает модель ранжирования на деревьях решений, обученная специально под поисковую задачу. Она учитывает десятки факторов и взвешивает их так, чтобы наверху оказались не просто похожие, а действительно полезные приложения.
Главную роль здесь играют поведенческие сигналы. Мы смотрим, как пользователи взаимодействуют с приложениями: просматривают ли карточку, устанавливают ли приложение, оставляют ли оценки, просматривают ли скриншоты и т.п. Эти данные помогают понять, насколько приложение действительно интересно и полезно людям, а значит, отражают реальную релевантность выдачи.
Ни один из перечисленных сигналов не является решающим — итоговая позиция приложения складывается из их комбинации: модель балансирует между точным совпадением, смысловой близостью и реальной пользой для людей. При это если пользователи по похожим запросам регулярно выбирают конкретное приложение и ставят ему высокие оценки, это усиливает его позиции в выдаче.
Как это работает с тегами. На этапе retrieval теги помогают расширить пул кандидатов: они дают шанс приложению попасть в выборку даже без точных совпадений в тексте. Дальше модель ранжирования ориентируется на поведение пользователей: если приложение по этим тегам действительно скачивают, используют и оценивают положительно, оно постепенно поднимается в выдаче.

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

Как выбрать теги
Выбор тегов начинается с чёткой формулы use case — описания того, что делает продукт и для кого он предназначен. Из этого естественно вытекают кандидаты из словаря тегов.
Например, формулировка «фоторедактор с масками и экспортом без водяных знаков, работает офлайн» корректно мапится на теги «Фоторедакторы» и «Фотография». Если добавлены клипы — появляется «Редактирование видео», если есть стикеры — «Эмодзи».
Главный принцип — теги отражают фактическую функциональность, а не желаемые ассоциации. Всё, чего нет в продукте на постоянной основе, не включается в тег-лист.
Структура тегов
Для игр и приложений логика построения различается.
Для игр теги выстраиваются по связке «жанр → режим → сеттинг»:
-
жанр задаёт механику — «Раннеры», «Три в ряд», «Idle-игра», «Платформеры»;
-
режим фиксирует способ игры — «Офлайн», «Однопользовательская», «Многопользовательская»;
-
сеттинг уточняет эстетику или мир — «Пиксельная графика», «Киберпанк», «Средневековое фэнтези».
Для приложений работает трёхуровневая модель:
-
домен определяет предметную область — «Фоторедакторы», «Тренировка», «Инвестиции»;
-
сценарий описывает тип использования — «Мобильные платежи», «Обмен сообщениями»;
-
ниша уточняет целевую аудиторию или контекст — «Материнство и детство», «Путеводители».
Баланс ширины и глубины
Для эффективности поиска важно соблюдать баланс между широкими и узкими тегами. Один–два широких тега дают базовую видимость внутри общей категории. Два–три узких тега помогают выделиться и сегментироваться на конкретную аудиторию.
Как оценить широту тега на практике?
-
Поиск. Вбейте в Rustore предполагаемый тег в строку поиска и посмотрите, сколько и каких вариантов приложений система подсказывает. Если появляются десятки разных вариантов — тег широкий.
-
Анализ конкурентов. Сравните, в каких приложениях встречается этот тег: если это почти все продукты из категории, тег слишком общий. Если только часть, и при этом приложения похожи между собой, тег более точный.
-
Отчёты и аналитика приложения. Изучите, по каким запросам чаще всего находят именно ваше приложение. Если ключевые слова слишком разные, значит тег тянет много разных сценариев.
-
Внешние источники. Используйте инструменты, которые показывают, как часто пользователи ищут определённые запросы и какие темы сейчас в тренде. Это поможет оценить интерес аудитории и выбрать наиболее востребованные ключевые слова.
К примеру, для фитнес-приложения рабочий набор тегов может выглядеть так: «Тренировка», «Бег», «Трекеры физической активности», «Похудение», «Йога». Но только при условии, что все эти сценарии действительно реализованы в продукте.
Проверка на актуальность
Добавление тегов про запас снижает доверие пользователей. Несоответствие между обещанием и фактическим опытом быстро отражается в поведенческих сигналах. К примеру, тег «Юмор» в фоторедакторе без забавных фотоэффектов может привести ухудшению продуктовых метрик приложения.
Также стоит избегать и противоречивых сочетаний тегов: «Офлайн» не сочетается с онлайн-режимами, а жанровые теги не ставятся без соответствующей механики.
Обновление тегов
Теги нужно пересматривать при каждом релизе: появилась устойчивая фича — набор расширяется; убрали режим — тег снимается. Здесь главное — стабильность и точность: лучше одно корректное изменение, чем частые нерелевантные обновления.
Если нужного термина в словаре RuStore не нашлось, можно выбрать ближайший по смыслу и зафиксировать его как временную гипотезу, а также направить запрос в поддержку стора на добавление нового тега.
Со списком поисковых тегов RuStore можно ознакомиться здесь.
Вместо заключения
Теги — это не просто дополнение к карточке приложения, а полноценная часть поисковой модели RuStore. От их качества зависит не только видимость продукта в выдаче, но и то, насколько точно он попадёт к своей аудитории.
Поэтому правильный подбор тегов — это одновременно про стратегию и про заботу о пользователях. Широкие теги дают охват и помогают попасть в нужную категорию, узкие — создают точки входа для конкретных запросов и сценариев. А регулярный пересмотр тег-листа вместе с релизами поддерживает актуальность и сохраняет согласованность между функциональностью продукта и тем, как его воспринимает поисковая модель. Всё это делает поиск точнее, а пользовательский опыт — понятнее и предсказуемее.
А тем, кто хочет глубже разобраться в архитектуре поиска и увидеть, как система работает «под капотом», можно посмотреть доклад с митапа RuStore.
Автор: semolina_channel


