Вы когда-нибудь задумывались, как крупные ритейлеры обеспечивают поиск и рекомендации на своих сайтах электронной коммерции? Как это делается?

Ищете часть 2? Кликните сюда"

Давайте возьмем пример физической покупки для клиента:

Учтите, что вы находитесь в огромном супермаркете/магазине, и у вас мало времени, чтобы заполнить список покупок. Вы спешите и ищете дорогу в магазине - спрашивайте людей, где есть X Y & Z.

Это может быть совершенно противоположный угол магазина или просто рядом с вами! На самом деле, товары не могут быть размещены в магазине в том же порядке, что и ваш список покупок. Это становится суетой, и в конечном итоге вы тратите больше времени, путешествуя по длинным проходам в магазине. Мы хотим, чтобы это было не только быстрее (как при поиске на любом веб-сайте электронной коммерции), но и чтобы мы в конечном итоге проходили по нужным проходам, чтобы выбрать именно те продукты, которые вы желали или приобрели ранее или вы забыли добавить в список.

Давайте предположим, что у вас также было несколько вещей, которые нужно было купить, но вы полностью их упустили — например, покупка люфы в поисках полотенца ИЛИ покупка напитков в поисках закусок ИЛИ покупка одноразовых стаканов для вечеринки, которая у вас сегодня вечером! Звучит знакомо ?

Что такое розничный поиск?

  • Решения Google Cloud Discovery помогают интернет-магазинам преобразовывать случайные браузеры в реальных покупателей, а также персонализировать общий процесс совершения покупок для покупателей/клиентов.
  • Розничный поиск основан на общем понимании Google покупательского поведения, намерений, контекста и общих артикулов. Это направляет пользователя в вашем магазине к повышенному вовлечению и увеличению дохода за заказ с помощью современных рекомендаций искусственного интеллекта от Google.
  • Кроме того, вы можете предоставить свои собственные бизнес-правила, чтобы изменить способ просмотра каталога, расширить общий поисковый запрос для извлечения связанных элементов, увеличить и скрыть результаты и т. д.

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

Включение розничного поиска

Если вы посещаете консоль Retail в первый раз, следуйте инструкциям здесь, чтобы принять Условия и положения, а также включить Поиск в Retail.

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

Для начала вам потребуются ДАННЫЕ. Они помогут Retail Search понять ваш Каталог и Взаимодействия пользователей, чтобы предлагать релевантные предложения.

Передача данных в Retail Search

Перейдите на страницу Данные в меню консоли Retail. Здесь вы увидите вкладки Каталог и События.Для простота этого блога позволяет сосредоточиться на данных каталога и на том, как передать ваш каталог продуктов в Retail Search.

Существует несколько способов импорта данных:

  • Импорт BigQuery из таблицы/представления
  • Импорт облачного хранилища из файлов JSON с разделителями-новострочными.
  • Синхронизация с Google Merchant Center
  • Встроенный импорт путем указания данных в тексте запроса API.

Давайте воспользуемся опцией импорта BigQuery.

Метод импорта BigQuery

Для этого вам необходимо создать схему в BigQuery Формат схемы каталогов товаров, заданный Retail Search. Или вы можете создать представление BigQuery для любой существующей таблицы каталога, и представление должно соответствовать схеме каталогов продуктов.

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

Retail предоставляет 3 ветки для импорта данных в (0, 1, 2). Одна из трех ветвей задается как ветка_по_умолчанию, которая используется для предоставления результатов. Есть много причин иметь этот силос:

  • Чтобы результаты поиска были надежными и актуальными для конечных пользователей
  • Изящный ввод в эксплуатацию хорошо проверенных данных для обслуживания конечных пользователей (путем установки данной ветки по умолчанию)
  • Мягкий вывод из эксплуатации старых данных, а также обеспечение отката к предыдущему состоянию, если это необходимо.
  • И более…

Перейдите в раздел «Данные» в меню консоли Retail.

  1. Нажмите «Импорт» сверху. Откроется боковое модальное окно.
  2. Тип импорта › Выберите «Каталог продукции».
  3. Источник данных › Выберите «BigQuery».
  4. Импорт ветки › Выберите ветку, в которую вы хотите импортировать (если вы делаете это в первый раз, выберите свой любимый номер из 0, 1 или 2)
  5. Схема данных › Выберите «Схема каталогов розничных товаров» — это формат схемы, о котором мы говорили.
  6. Таблица BigQuery › Укажите полный идентификатор таблицы в формате «projectId.datasetId.tableId» — это таблица/представление, соответствующее схеме каталогов продуктов.

Нажмите «Импорт».

Бонус:

Вы также можете импортировать данные с помощью Retail API. Ниже приведен пример запуска POST API products.import с помощью команды CURL (SSH должен иметь соответствующие IAM-доступы)

$ PROJECT_ID="test-retail"
$ PROJECT_NUMBER="123456789"
$ DATASET_ID="testretail"
$ TABLE_ID="product_catalog"
$ curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
    "inputConfig": {
        "bigQuerySource": {
        "projectId": "'$PROJECT_ID'",
        "datasetId": "'$DATASET_ID'",
        "tableId": "'$TABLE_ID'",
        "dataSchema": "product"
        }
    },
    "reconciliationMode": "FULL"
    }' \
    'https://retail.googleapis.com/v2/projects/'$PROJECT_NUMBER'/locations/global/catalogs/default_catalog/branches/default_branch/products:import'

Поле API reconciliationMode предоставляет возможность либо импортировать данныеИНКРЕМЕНТАЛЬНО-ly, либо ПОЛНОЕ обновление.

Если вы импортируете данные с помощью пользовательского интерфейса консоли, по умолчанию используется значение INCREMENTAL. Чтобы импортировать данные с ПОЛНЫМ обновлением, вы можете очистить данные (см. снимок экрана ниже) и импортировать данные заново!

Отслеживание вашей активности по импорту

После успешного запуска импорта перейдите прямо к модальному модулю «Статус активности» на странице «Данные».

  • Наблюдайте за текущей операцией; Успешные элементы покажут количество импортированных продуктов. Обратите внимание, что каждая запись должна представлять один уникальный продукт.
  • На приведенном выше снимке экрана старая операция выполнена успешно: 27974 импортированных продукта и 2 неимпортированных продукта из-за проблем со схемой или данными. Следовательно, продукты частично импортируются с журналами ошибок, которые также предоставляются для отладки.
  • Если вы очистили ветку, это требует времени. Таким образом, вы должны дождаться завершения операции очистки, прежде чем импортировать новые данные, которые можно отслеживать здесь, в модальном окне «Состояние активности».

В фоновом режиме Retail Search будет выполнять операции повторной/индексации для возврата правильных результатов поисковых запросов. Теперь вы можете начать использовать Retail Search для обычных поисковых операций. Это должно дать вам правильные результаты.

Давайте искать

  • Перейдите в Retail Console › Выберите Конфигурации обслуживания. Retail Search создает конфигурацию по умолчанию для использования.
  • Нажмите «Конфигурация обслуживания default_search» › Нажмите «Оценить сверху».
  • Укажите поисковый запрос на основе ваших данных

Теперь вы можете реализовать это на своем веб-сайте с помощью SDK, предоставляемых Retail Search. Ниже приведен пример запуска POST API placements.search с помощью команды CURL (SSH должен иметь соответствующие IAM-доступы)

$ PROJECT_NUMBER="123456789"
$ curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"branch": "projects/'$PROJECT_NUMBER'/locations/global/catalogs/default_catalog/branches/default_branch",
"query": "spray",
"visitorId": "yash",
"pageSize": 28
}' \
"https://retail.googleapis.com/v2/projects/$PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search:search"

Возможно, вам потребуется добавить заголовок X-Goog-User-Project: $PROJECT_NUMBER (если требуется), чтобы Retail Search знал, за какой проект выставляется счет. Вы можете проверить дополнительные параметры в документации API для фильтрации результатов поиска и просмотра категорий.

Поздравляем с первым шагом в Google Cloud Retail Discovery Solutions. Далее мы обсудим, что такое конфигурации обслуживания, элементы управления обслуживанием и динамические аспекты.

Нажмите здесь, чтобы перейти к части 2.

Рекомендации