7 мин

Поиск с автодополнением и исправлением опечаток: Индия

План, как настроить поиск с автодополнением и исправлением опечаток для индийских названий товаров: синонимы, транслитерации и улучшения по аналитике.

Поиск с автодополнением и исправлением опечаток: Индия

Почему индийские названия ломают поиск

Товар может быть в каталоге, но пользователь его не находит по простой причине: он вводит название не так, как оно записано в карточке. Поиск сравнивает строки слишком буквально, поэтому в ответ получает пустую или нерелевантную выдачу.

В Индии это заметнее, чем на многих рынках. Одно и то же слово встречается в разных языках и в разных привычных написаниях. Люди легко смешивают алфавиты: сегодня печатают латиницей, завтра тем же смыслом, но на местной письменности, а иногда пишут просто «как слышится».

Обычно поиск ломают такие ситуации:

  • несколько вариантов транслитерации одного названия (khakhra, khakra, kakra)
  • местные термины против «официальных» на упаковке (besan vs gram flour)
  • смешанные запросы: часть на английском, часть на хинди или другом языке
  • опечатки и пропуски букв на мобильной клавиатуре
  • пробелы и слитное написание (garam masala vs garammasala)

Когда поиск ошибается, это сразу бьет по продажам. Пустая выдача заставляет уйти и купить в другом месте. Неверная выдача подталкивает к случайным товарам, повышает возвраты и снижает доверие. Параллельно растет нагрузка на поддержку: люди спрашивают «почему у вас нет X», хотя он есть.

Цель здесь не «умная математика», а понятный процесс: настроить автодополнение и исправление опечаток, собрать словарь синонимов и транслитераций, а затем улучшать его по аналитике реальных запросов.

Какие варианты написаний нужно покрыть

Чтобы автодополнение и опечаткоустойчивость работали в Индии, заранее решите, какие варианты одного и того же товара вы считаете «одинаковыми». Люди ищут так, как говорят дома, а карточка товара чаще оформлена «официально» и по-английски.

Начните с самых частых типов расхождений. Обычно нескольких групп хватает, чтобы закрыть большую часть пропусков:

  • бытовое название и «официальное» из карточки: masoor dal vs red lentils, haldi vs turmeric
  • транслитерация и варианты произношения: atta, aata, aटा; jeera, zeera; besan, basin
  • разговорные сокращения: pkt, pack, combo, king size, family pack
  • единицы и фасовка: 500g, 0.5 kg, half kilo; 1L, 100 ml, 0.1 l
  • смешение бренда и категории: «Aashirvaad» вместо atta, или наоборот atta вместо конкретного бренда

Дальше разделите то, что лучше нормализовать, и то, что лучше хранить как синоним.

Нормализация обычно подходит для единиц измерения и форматов записи (пробелы, точки, регистр). А бытовые названия и транслитерации удобнее держать в словаре, чтобы они участвовали и в автодополнении.

Пример: пользователь вводит “aata 5kg”, а в каталоге товар называется “Wheat Flour (Atta) 5 kg”. Поиск должен понять, что aata = atta, а “5kg”, “5 kg” и “5 kilo” - одна и та же фасовка. Отдельно учтите запросы вроде “Aashirvaad 5kg” или “atta Aashirvad”: бренд и категория меняются местами, но намерение одно.

Откуда брать синонимы и реальные запросы

Синонимы лучше брать не «из головы», а из данных. Хороший словарь растет из того, как люди реально пишут, и как ваш каталог реально описан.

Первый источник - сам каталог. Помимо названия товара, полезны подзаголовки, характеристики, теги и атрибуты. Часто именно там лежат «вторые имена»: тип (масала, дал), форма (whole, powder), бренд, размер упаковки.

Второй источник - поведенческие сигналы. Смотрите поисковые логи: что вводят, что кликают после поиска, где сразу уходят. Особенно важны два класса проблем:

  • нулевые результаты (ничего не нашли)
  • «почти ноль»: выдача есть, но по ней не кликают

«Почти ноль» часто означает плохие подсказки, неудачные синонимы или то, что нужный товар в выдаче слишком низко.

Что стоит собирать и регулярно проверять:

  • каталог: названия, атрибуты, варианты фасовки и формы, варианты написания брендов
  • логи поиска: топ запросов, редкие запросы, запросы с ошибками, запросы без кликов
  • нулевые и «почти ноль»: отдельный список на еженедельный разбор
  • поддержка и отзывы: слова покупателей и частые вопросы «а есть ли...?»
  • сезонность: фестивали, подарочные наборы, наборы для рецептов, «пуджа», «диуали», «рамадан»

Практика: если в поддержку пишут «atta for roti», а в каталоге стоит «wheat flour», добавьте связку не только «atta = wheat flour», но и контекстные варианты («roti flour», «chapati flour»). Затем проверьте по логам, что люди кликают и покупают.

Как устроить словарь синонимов, чтобы он не разросся

Синонимы лучше хранить отдельно от карточек товаров. Если править названия прямо в каталоге, вы ломаете витрину (брендовые требования, единый стиль, выгрузки) и все равно не закрываете «народные» варианты. Отдельный словарь можно подключать к поиску, автодополнению и обработке опечаток, не трогая контент.

Основа словаря - группы, где один смысл объединяет разные написания. Внутри группы держите «каноническую» форму (что показывать в выдаче и подсказках) и варианты (как люди вводят).

Чтобы словарь не превратился в свалку, заранее разделите уровни совпадения:

  • точный синоним: равнозначная замена в поиске
  • вариант написания: пробелы, дефисы, типовые опечатки, транслитерация
  • только подсказка: близкие слова для autocomplete, но без автоматического подмешивания в выдачу

Дальше ограничивайте синонимы контекстом. Один термин может означать разное в специях и в косметике, поэтому у группы должен быть «контекст применения» (категория, бренд, тип товара). Тогда слово вроде «масала» не потянет случайные результаты там, где это не нужно.

Полезно добавить служебные поля, чтобы управлять качеством и откатами:

  • источник (логи, поддержка, контент)
  • дата добавления и автор
  • причина (какую проблему решаем)
  • статус (черновик, проверено, отключено)
  • заметка с примером запроса

Транслитерации и смешанные алфавиты: базовые правила

В Индии один и тот же товар пишут латиницей, на хинди, на языках штатов и часто вперемешку (Hinglish). Без транслитерации вы потеряете часть спроса даже на простых вещах вроде специй и муки.

Транслитерация нужна в двух случаях: когда в каталоге название на английском, а пользователь вводит на хинди (или наоборот), и когда слово живет в разговорной латинице (jeera, haldi, atta), но люди пишут «как слышат» (jira, huldi, aata). Отдельно поддержите смешанный ввод: запрос может начинаться латиницей и заканчиваться местным словом.

Сначала сделайте нормализацию ввода, чтобы не плодить «синонимы из мусора»:

  • привести к одному регистру
  • убрать лишние пробелы, точки и повторяющиеся разделители
  • унифицировать дефисы и слэши (например, 500g и 500 g)
  • схлопывать повтор букв в разумных пределах (aata vs atta)
  • приводить распространенные сокращения (gm, g, kg)

Дальше задайте правила «похожести по звучанию», но с ограничителями. Фонетические варианты полезны для коротких товарных слов (jeera/jira), но агрессивное исправление быстро превращается в шум.

Где лучше отключать жесткую коррекцию или требовать больше контекста:

  • слова длиной 2-3 символа (tea, oil, dal)
  • числа и модели (A1, 10, 1L)
  • близкие бренды и вкусы (могут быть разными товарами)
  • единицы измерения и упаковки (g, kg, ml)
  • термины, которые легко уводят в другой смысл (masala vs mascara как пример шума)

Практика: транслитерации и «разговорные» варианты храните как синонимы к базовому термину. Исправление опечаток включайте только после нормализации и с лимитами для коротких запросов.

Автодополнение: что подсказывать и в каком порядке

Прототип на TakProsto сегодня
Начните с бесплатного тарифа и соберите прототип улучшенного поиска для каталога.

Автодополнение работает, когда оно помогает выбрать правильный путь за 1-2 клика, а не показывает «все подряд». Для индийских названий это особенно важно: пользователь может писать латиницей, с пробелами или без, и ждать подсказку еще до того, как он вспомнит «правильное написание».

Подсказки удобнее смешивать по типам:

  • товары (конкретные позиции)
  • категории (чтобы быстро сузить выбор)
  • бренды (если их действительно ищут)
  • популярные запросы (как готовые формулировки)
  • варианты фасовки и единиц (1kg, 500g, 2L, pack)

Порядок подсказок

Сортировку лучше строить не только по популярности. Рабочее правило: выше то, что с большей вероятностью можно купить прямо сейчас и что соответствует намерению.

Практичный порядок факторов: (1) точность совпадения, (2) наличие, (3) популярность за последние 7-14 дней, (4) актуальность по сезону или промо, (5) бизнес-приоритет (например, маржинальность), но не выше наличия. Если товар закончился, его можно показывать ниже или помечать, а не скрывать полностью.

Фасовку добавляйте в подсказки по ситуации. «atta 1kg» и «atta 5kg» - разные решения. Подсказки по весу и объему лучше показывать, когда пользователь уже ввел число или единицу, или когда запрос явно про продукт, который обычно выбирают «по размеру».

Исправление опечаток

Не меняйте смысл запроса молча. Безопаснее показывать «Вы имели в виду ...» отдельной строкой и оставлять исходный ввод как вариант. Автоисправление без выбора подходит только для очевидных опечаток (1-2 символа) и только если результат совпадает по категории.

Полезный подход - два режима: мягкий (подсказка с выбором) по умолчанию и жесткий (сразу исправлять) только для узкого списка «железных» случаев.

Пошаговый план внедрения на 2-4 недели

План ниже помогает запустить поиск без лишней «магии». Логика простая: сначала собираем данные, затем улучшаем то, что реально влияет на покупки.

Неделя 1: данные и базовая гигиена текста

Начните с логирования. Нужно видеть сам запрос, что человек кликнул в выдаче и купил ли он после поиска (хотя бы в окне 24 часов). Без этого любые правки будут спором «на ощущениях».

Параллельно сделайте нормализацию: нижний регистр, удаление лишних пробелов, одинаковая обработка точек и дефисов, простая замена «ё» на «е». Добавьте короткий список стоп-слов (например, «купить», «цена», «доставка»), но только если они мешают ранжированию.

Неделя 2: автодополнение без сюрпризов

Запустите autocomplete на популярных реальных запросах и названиях категорий. Сначала сортируйте подсказки по частоте и конверсии, а не по «умности». Если запрос “besan” часто приводит к покупке, он должен быть выше редких вариантов.

Неделя 3: опечатки, но с жесткими рамками

Добавляйте толерантность к опечаткам постепенно. Введите ограничения: не включать fuzzy-поиск для очень коротких запросов (1-2 символа), ограничить расстояние правки, отключить исправление для брендов с похожими названиями. Иначе пользователь набрал “atta” и внезапно увидел специи.

Неделя 4: синонимы и транслитерации

Подключайте словарь синонимов и правила транслитерации точечно, начиная с топ-50 запросов. Добавляйте пары только когда видите в логах нулевую выдачу или низкие клики.

После запуска держите ритм: раз в неделю смотрите метрики (доля запросов без результатов, клики по подсказкам, конверсия после поиска) и делайте 5-10 правок. Гораздо полезнее небольшие изменения, чем редкие «переписывания всего».

Какие метрики показывают, что поиск реально помогает

Понять, что поиск полезен, можно только по цифрам. При большом количестве вариантов написания «кажется, что стало лучше» почти всегда обманывает.

Первое, что стоит смотреть, - нулевые результаты. В отчете держите долю запросов с нулем и список топ-запросов, где люди ничего не находят.

Дальше смотрите на клики. Отдельно полезны CTR по выдаче и CTR по подсказкам. Если подсказки кликают хорошо, но после клика люди быстро уходят, значит подсказка обещает не то: например, подсовывает бренд вместо категории или ведет на нерелевантные товары.

Самая честная метрика - конверсия после поиска. Считайте хотя бы добавления в корзину после поиска и покупки после поиска. Хороший поиск обычно поднимает эти показатели, даже если общий трафик не растет.

Не забывайте про скорость. Замеряйте p95 времени ответа поиска и отдельно скорость подсказок, особенно на мобильных. Если подсказки тормозят, ими перестают пользоваться.

Минимальный набор событий:

  • запрос, язык/раскладка, был ли автокоррект и на что
  • показ подсказок и клик по подсказке
  • клик по товару из поиска
  • добавление в корзину и покупка после поиска
  • время ответа поиска и подсказок

Как улучшать поиск по аналитике, а не по ощущениям

Снапшоты и rollback для поиска
Разверните поиск и подсказки, сохраните снапшот и возвращайтесь к стабильной версии в один шаг.

Поиску нужен простой ритм улучшений: смотрим данные, правим по одной причине за раз, проверяем результат. Иначе вы будете добавлять синонимы и подсказки «на глаз», а конверсия не сдвинется.

Хорошая практика - раз в неделю разбирать топ-50 проблемных запросов. «Проблемный» не значит редкий. Это запросы, где много показов и кликов, но мало покупок, или где люди часто переформулируют запрос (например: atta -> aata -> wheat flour).

Еженедельный ритуал:

  • соберите 50 запросов с худшими показателями (ноль, низкий CTR, низкая покупка после поиска)
  • для каждого найдите «правильное» название товара в каталоге и реальные варианты написания
  • правьте по порядку: сначала синоним, затем подсказки, и только потом более агрессивные правила опечаток
  • чистите мусор: подсказки, по которым кликают, но дальше не покупают и возвращаются к поиску
  • разберите отчет по сегментам (новые/постоянные, мобильные/десктоп, регионы)

Изменения проверяйте на одинаковой выборке запросов, сравнивая «до/после» на одинаковом периоде.

Частые ошибки, из-за которых поиск становится хуже

Даже если поиск уже работает, он может начать вредить продажам. Обычно дело не в одной крупной ошибке, а в нескольких мелких настройках.

  1. Слишком широкие синонимы. Если склеить разные товары одним словом, выдача становится шумной. Пользователь видит «не то» и уходит.

  2. Опечатки без ограничений. Если разрешить слишком большую «похожесть» для коротких слов, запросы начинают прыгать по смыслу.

  3. Подсказки только по популярности. Верх автодополнения забивают общие слова вроде rice или oil, и подсказки не помогают уточнить выбор.

  4. Игнорирование наличия. Подсказки, которые уверенно ведут в товары вне наличия, выглядят как обман.

  5. Смешивание брендов и категорий без правил. Если бренд совпадает со словом категории, он перетягивает выдачу на себя.

Перед правками полезно быстро проверить:

  • у синонимов есть границы: что точно одно и то же, а что только рядом
  • для опечаток разные пороги для коротких и длинных запросов
  • в подсказках выше уточняющие варианты, а не только «самое популярное»
  • наличие влияет на ранжирование подсказок и результатов
  • бренд, категория и атрибуты не конфликтуют

Быстрый чеклист перед запуском и на каждую неделю

Правила поиска в planning mode
Опишите правила нормализации и синонимов, а TakProsto превратит их в рабочий код.

Поиск чаще ломается не из-за алгоритма, а из-за отсутствия опор: данных, правил нормализации и понятного процесса обновлений.

Перед запуском

Сначала убедитесь, что сможете измерять эффект. Без связки запрос -> клик -> корзина -> покупка легко спорить «на вкус».

  • логируйте запросы, показанные результаты, клики и покупки после поиска
  • включите нормализацию: регистр, лишние пробелы, символы (.,-/), единицы измерения
  • храните синонимы отдельно от кода и каталога, с понятной схемой изменений и отката
  • проверьте автодополнение: оно учитывает наличие и не подсказывает мусор

После этого сделайте короткий прогон на 20-30 реальных запросах: с опечатками, со смешанными алфавитами, с измерениями.

Каждую неделю

Рутина должна занимать 30-60 минут и давать конкретные правки.

  • смотрите долю нулей, CTR поиска, конверсию после поиска
  • разберите топ-20 запросов с нулем и с низким CTR
  • проверьте подсказки, которые часто показываются, но по ним не кликают
  • держите правило: каждая правка должна быть проверяемой и обратимой

Пример: как находят муку и специи при разных написаниях

Представьте каталог индийских продуктов, где одна и та же мука встречается по-разному: “atta”, “aata”, “chakki atta”, “wheat flour”. Пользователь набирает “aata” или “atta”, а вы хотите, чтобы он попадал в одну и ту же группу товаров, а не в пустую выдачу.

Здесь хорошо работает связка: синонимы + транслитерация + аккуратная обработка опечаток. В словаре вы задаете, что “aata”, “atta”, “आटा”, “wheat flour”, “chakki atta” ведут к одному нормализованному ключу, например “atta flour”. Дальше этот ключ связывается с карточками: бренды, помол, фасовка (1 кг, 5 кг), подкатегории вроде «цельнозерновая» или «для чапати».

Автодополнение помогает не только «угадать слово», но и подсказать правильный выбор. Когда пользователь вводит “att…”, подсказки можно показать так: сначала категория (“Мука Atta”), затем частые уточнения (“Chakki Atta 5 кг”), потом бренды.

С опечатками важно не переусердствовать. Если пользователь набрал “atat”, исправление должно быть мягким: предложить “atta” как вариант, но не подменять запрос на другой продукт.

Понять, что поиск стал полезнее, помогают сигналы из аналитики:

  • доля запросов с нулевой выдачей падает
  • растет конверсия из поиска в добавление в корзину
  • уменьшается число повторных переформулировок (atta -> wheat flour -> chakki)
  • клики по подсказкам растут, а время до первого клика снижается
  • снижается доля «прыжков» в нерелевантные категории после исправления опечатки

Следующие шаги: как быстро собрать MVP и закрепить процесс

Не пытайтесь покрыть все варианты сразу. За 2-4 недели реально собрать MVP, который снимет основные потери, а дальше улучшать его по данным.

Начните с минимума: выгрузите топ запросов, топ запросов с нулевым результатом и составьте стартовый словарь на 100-300 синонимов. В индийских названиях это обычно локальные варианты, простые сокращения, популярные бренды, транслитерации и смешанные написания.

Дальше договоритесь о правилах, чтобы поиск не стал непредсказуемым: где вы автоматически исправляете опечатку (когда уверены), а где только показываете альтернативу (когда есть риск подменить смысл).

План MVP на 2-4 недели

  • неделя 1: собрать запросы, нули, 20-30 самых частых товаров и первые синонимы
  • неделя 2: включить автодополнение и простую опечаткоустойчивость, добавить логирование
  • неделя 3: подключить панель метрик (нули, клики по подсказкам, конверсия после поиска)
  • неделя 4: расширить словарь по аналитике, убрать спорные правила, закрепить процесс

Как закрепить процесс, чтобы он жил

Назначьте владельца словаря (часто контент-менеджер или категория) и человека, который подтверждает изменения (поиск/продукт). Введите короткий регламент: что добавляем сразу, что только после проверки, как быстро откатываем ошибку.

Если нужен быстрый старт разработки и тестирования, такие изменения удобно прогонять в TakProsto (takprosto.ai): в planning mode разбить работу на шаги, проверять правила на реальных данных и при необходимости быстро откатываться через snapshots и rollback, а затем экспортировать код и развернуть в своем окружении.

FAQ

Почему товары есть в каталоге, но по ним не находится поиск?

Потому что поиск часто сравнивает строки слишком буквально. Один и тот же товар люди пишут по-разному: транслитерацией (khakhra/khakra), местным словом (besan) вместо «официального» (gram flour), со слитным написанием (garammasala) и с опечатками. Если не нормализовать ввод и не подключить синонимы, запросы будут давать ноль или нерелевантную выдачу.

Какие варианты написаний стоит покрыть в первую очередь?

Начните с того, что чаще всего ломает выдачу:

  • бытовое vs «официальное» название (haldi vs turmeric)
  • варианты транслитерации и произношения (atta/aata/आटा)
  • слитно/раздельно, дефисы, точки, регистр
  • единицы и фасовка (500g/0.5 kg/half kilo)
  • частые сокращения (pack, combo, pkt)

Эти группы обычно дают максимальный эффект при минимуме работы.

Что лучше решать нормализацией, а что — словарем синонимов?

Базово делайте два слоя:

  • Нормализация: регистр, лишние пробелы, одинаковые дефисы/слэши, форматы веса и объема, частые сокращения единиц.
  • Словарь синонимов: бытовые названия, транслитерации, варианты произношения, «народные» написания брендов.

Нормализация убирает «мусор», а словарь расширяет смысловые совпадения.

Откуда брать синонимы и транслитерации, чтобы не ошибаться?

Опирайтесь на данные, а не на догадки:

  • Каталог: названия, подзаголовки, атрибуты, теги, фасовки, формы (whole/powder).
  • Логи поиска: что вводят, где ноль, где есть выдача, но нет кликов.
  • Поддержка и отзывы: реальные формулировки пользователей («а есть atta for roti?»).
  • Сезонность: фестивали, наборы, подарочные позиции.

Дальше добавляйте синонимы точечно под конкретные проблемные запросы.

Как организовать словарь синонимов, чтобы он не разросся в хаос?

Держите словарь отдельным от карточек и группируйте варианты вокруг «канонической» формы.

Практичная схема внутри группы:

  • каноническое название (что показывать в подсказках)
  • варианты ввода (синонимы, транслитерации, частые ошибки)
  • контекст (категория/тип товара/бренд)
  • статус (черновик/проверено/выключено) и причина добавления

Так проще контролировать качество и быстро откатывать неудачные изменения.

Как работать со смешанными алфавитами и Hinglish-запросами?

Сделайте три правила безопасности:

  • сначала нормализуйте ввод (регистр, пробелы, символы, единицы)
  • храните транслитерации как синонимы к базовому термину (atta ⇄ aata ⇄ आटा)
  • ограничивайте агрессивные совпадения для коротких слов и омонимов

Отдельно поддержите смешанные запросы (часть латиницей, часть местной письменностью): их лучше обрабатывать тем же пайплайном нормализации и словаря.

Что именно подсказывать в autocomplete и как выстроить порядок?

Показывайте подсказки так, чтобы пользователь за 1–2 клика попадал в нужный смысл:

  • конкретные товары
  • категории
  • бренды (только если их реально ищут)
  • популярные формулировки запросов
  • фасовки/единицы (когда пользователь уже ввел число или это типично для товара)

Сортируйте не только по популярности: выше ставьте точное совпадение и наличие, затем свежую популярность и только потом бизнес-приоритеты.

Как включать исправление опечаток, чтобы не ломать смысл запроса?

Безопасный дефолт — не подменять запрос молча. Лучше:

  • показать строку «Вы имели в виду …»
  • оставить исходный запрос как вариант
  • включать автоисправление только для очевидных опечаток на 1–2 символа и при совпадении по категории

Также задайте лимиты: отключайте fuzzy для 1–2 символов, осторожно с числами/моделями и с похожими брендами.

Какой пошаговый план внедрения реально уложить в 2–4 недели?

Минимальный рабочий план:

  • Неделя 1: логирование (запрос → клик → корзина/покупка), базовая нормализация текста.
  • Неделя 2: autocomplete на популярных запросах и категориях, учет наличия.
  • Неделя 3: опечатки с жесткими ограничениями (короткие слова, бренды, числа).
  • Неделя 4: словарь синонимов и транслитераций, начиная с топовых проблемных запросов.

Дальше поддерживайте ритм: раз в неделю 5–10 правок по данным, а не «большая переделка раз в квартал».

Какие метрики покажут, что поиск стал лучше, и как не утонуть в правках?

Смотрите на метрики, которые напрямую связаны с тем, «нашли ли и купили»:

  • доля запросов с нулевой выдачей
  • CTR по выдаче и CTR по подсказкам
  • добавления в корзину и покупки после поиска
  • скорость ответа поиска и подсказок (особенно p95)

Чтобы правки были управляемыми, фиксируйте для каждого изменения причину и возможность отката. Для быстрой проверки гипотез удобно работать через режим планирования и снапшоты (например, в TakProsto), чтобы тестировать правила на реальных данных и быстро возвращаться назад при шуме в выдаче.

Похожие статьи