РекомендуетсяWeb

Поиск с учетом опечаток

Допускайте опечатки в текстовом поиске по заданной модели, сохраняя строгие идентификаторы, фильтры и права доступа.

Опубликовано Проверено Изменено

Плохо

Fuzzy применяется к SKU, цене и tenant. Запрос «AB-100» возвращает и автоматически выбирает «AB-101».

Хорошо

Название: exact/prefix и ограниченный fuzzy по политике ранжирования.
SKU/ID: точное совпадение по умолчанию.
Цена, дата, tenant: типизированные строгие фильтры.
Неточное совпадение отмечено; пользователь выбирает результат явно.

Почему это важно

Fuzzy matching расширяет текстовый поиск по расстоянию редактирования. Он не определяет бизнес-эквивалентность идентификаторов и не заменяет морфологию или транслитерацию.

Когда применять

Для названий, имен и описаний, где опечатки ожидаемы. Для коротких строк, кодов, финансовых и иных точных значений применяется отдельная политика.

Требования

  • Задайте нормализацию, анализатор, минимальную длину, допустимое расстояние/транспозиции, prefix_length и max_expansions либо эквивалентные ограничения движка. Значения проверяются на корпусе запросов.
  • Сохраните точный путь поиска и ожидаемый приоритет exact/prefix на контрольных данных. Не обещайте такой порядок только наличием boost без проверки фактической выдачи.
  • Не размывайте tenant, авторизацию, диапазоны, даты, валюты и точные ID. Для bool с filter и should задайте minimum_should_match, если хотя бы одно текстовое условие обязательно.
  • Ограничьте время, объем и стоимость расширения. При отказе применяйте описанный fallback без удаления точных условий; не выполняйте действие по приблизительному результату автоматически.

Кто что делает

Человек

Утверждает набор запросов и ожидаемых результатов, точные поля и допустимую цену ошибок поиска.

AI-агент

Настраивает текстовый поиск и точные фильтры отдельно; проверяет опечатки, права, ранжирование, короткие запросы и бюджет выполнения.

Как проверить у себя

  • Проверьте опечатку, перестановку букв, короткую строку, точный SKU, отсутствие совпадений и несколько близких названий.
  • Проверьте приоритет точного совпадения, ограничения нагрузки и невозможность обхода фильтров или доступа.
ПервоисточникиИстория изменений на GitHub

Дата проверки отражает содержательную сверку. Синхронизация сайта не обновляет её автоматически.