Skip to content
  1. Компоненты
  2. idimage

Индексация товаров

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

  • создать товары с изображениями
  • провести векторизацию и выполнить индексацию.

Опции и настройки

1. Создание товаров

Перейдите на вкладку Пакеты → ID image → Товары и нажмите «Создать товары».

Создание товаров

Запустится процесс создания товаров. Дождитесь его завершения.

Процесс создания

После завершения процесса в списке появятся товары, готовые для векторизации и индексации.

Список товаров для индексации

2. Получение векторов

В разделе Действия выберите «Загрузить изображения». Будет создан список заданий для запроса в сервис idimage.ru.

Загрузка изображений

После создания заданий для загрузки изображений появится запрос на запуск очереди. Нажмите «Да».

Отправка изображений

Дождитесь завершения загрузки, не закрывайте окно.

Важно

  • Получение векторов может занять значительное время. За один проход обрабатывается 20 изображений.
  • Время выполнения одного прохода зависит от скорости интернета и загруженности сервиса idimage.ru, время запроса может составить от 1 секунды и более.

3. Индексация товаров

В разделе Действия выберите «Индексировать товары». Будет создан список заданий для индексации.

Индексация товаров

После создания заданий появится запрос на запуск очереди для получения похожих товаров. Подтвердите действие или вы может позже запустить очередь на вкладке "Задания".

Важно

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

4. Размещение сниппета на странице

В MiniShop2 уже есть готовый сниппет для выборки товаров — msProducts, поэтому будем использовать его в примере.

Шаг 1: Вставка кода в шаблон карточки товара

Добавьте следующий код в шаблон карточки товара:

fenom
{var $ids = $modx->runSnippet('idImageSimilar', [
    'pid' => $modx->resource->id,
    'min_scope' => 65,
    'limit' => 4
])}

{if $ids}
    {$modx->runSnippet('msProducts', [
        'resources' => $ids,
        'sortby' => "FIELD(msProduct.id, {$ids})",
        'parents' => 0,
    ])}
{/if}

Задания

Задания необходимы для бесперебойного процесса индексации и векторизации. Вы можете управлять очередью заданий вручную или настроить их автоматический запуск в фоновом режиме.

Задания