Перейти к основному содержимому

Откуда панель навигации берёт категории и бренды

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

Панель навигации на экране Товары читает названия категорий и брендов не из каталога напрямую, а из поискового индекса — отдельной копии названий, подготовленной для поиска по части слова и для сортировки по алфавиту. Из этого следуют три особенности, которые видны в интерфейсе.

Почему новая категория появляется в панели не сразу​

Импорт каталога пишет категории и бренды в каталог, а поисковый индекс обновляется следом за ним. Между двумя этими моментами панель показывает прежний состав дерева, хотя товары нового импорта уже в таблице.

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

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

Почему поиск находит «фон» в «Смартфоны»​

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

Отсюда два краевых случая, которые иначе выглядели бы как поломка. Запрос из одного символа не совпадает ни с одним фрагментом, поэтому платформа трактует его как первую букву названия. Слово длиннее девяти символов тоже не совпадает ни с одним фрагментом, поэтому оно ищется по первым девяти символам: «холодильники» и «холодильник» дадут один и тот же результат.

Границы фрагментов выбраны как компромисс: чем шире диапазон, тем больше места занимает индекс и тем дольше идёт его обновление.

Почему рядом с категорией нет числа товаров​

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

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

Как пользоваться панелью — см. инструкцию по навигации в каталоге. Точные правила поиска и размеры страниц — в справочнике по панели навигации.