Интеграция Searchspring с Optimizely. Часть 1. Архитектура и настройка

Современные платформы электронной коммерции требуют быстрого, релевантного и интеллектуального поиска. Хотя Optimizely (Episerver) предоставляет надежные возможности CMS и коммерции, масштабирование поиска по большим каталогам продуктов часто требует более специализированного решения.

Вот где Поисковый источник входит.

В этой серии из двух частей мы рассмотрим, как интегрировать Searchspring с Optimizely. В этой первой части мы сосредоточимся на архитектуре, потоке данных и настройке.


Optimizely Search & Navigation (Find) — это мощный инструмент, но в сложных коммерческих сценариях компаниям часто требуется:

  • Расширенная фасетизация и фильтрация
  • Средства управления мерчандайзингом для бизнес-пользователей
  • Рейтинг продуктов на основе искусственного интеллекта
  • Автозаполнение в реальном времени
  • Высокопроизводительный поиск по большим каталогам

Searchspring дополняет Optimizely, занимаясь поиском и мерчандайзингом, а Optimizely продолжает управлять контентом и логикой коммерческой деятельности.


Типичная интеграция Searchspring + Optimizely следует следующему алгоритму:

  1. Данные о продуктах получены из Optimizely Commerce (или PIM).
  2. Фид создается и отправляется в Searchspring.
  3. Searchspring индексирует и обрабатывает данные
  4. Фронтенд-приложения вызывают API Searchspring
  5. Оптимизирует визуализацию пользовательского интерфейса с использованием ответов API.

Ключевая идея:

Поиск вынесен наружу, но опыт остается внутри Optimizely


Основой этой интеграции является фид продукта.

Вам нужно будет регулярно отправлять структурированные данные о продуктах в Searchspring.

Общие подходы

  • Запланированные задания в Optimizely
  • Служба промежуточного программного обеспечения
  • Прямая интеграция PIM

Пример: запланированное задание в Optimizely

public class SearchspringFeedJob : ScheduledJobBase

{

public override string Execute()

{

var products = _productService.GetAllProducts();

var feed = products.Select(p => new {

id = p.Code,

name = p.DisplayName,

price = p.Price,

brand = p.Brand

});

_searchspringService.PushFeed(feed);

return "Feed synced successfully";

}

}

Кончик:
Всегда проверяйте и преобразуйте данные перед отправкой, особенно названия брендов и категории.


После индексации данных Searchspring предоставляет API для:

  • Результаты поиска
  • Страницы категорий
  • Автозаполнение
Read more:  депутаты принимают «доходную» часть, Фор обвиняет РН и ЛФИ в «игре худшего»

Пример вызова API

fetch(`https://api.searchspring.net/api/search/search.json?siteId=YOUR_SITE_ID&q=fridge`)

.then(res => res.json())

.then(data => {

console.log(data.results);

});

Эти API становятся основным источником данных для ваших списков продуктов.


Прежде чем переходить к реализации, имейте в виду следующее:

  • Оставьте Searchspring ответственным только за поиск и мерчендайзинг.
  • Избегайте смешивания бизнес-логики с созданием каналов.
  • Обеспечьте согласованное сопоставление данных (особенно брендов и категорий).
  • Планируйте разбивку на страницы и большие наборы данных заранее

На этом этапе у вас есть:

  • Четкая архитектура
  • Фид продуктов поступает в Searchspring
  • API готовы к использованию

Будет во второй части:

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

Читайте также

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.