1774174860
2026-03-20 12:38:00
最新の e コマース プラットフォームでは、高速で関連性の高い、インテリジェントな検索エクスペリエンスが求められます。 Optimizely (Episerver) は堅牢な CMS およびコマース機能を提供しますが、大規模な製品カタログの検索を拡張するには、より専門的なソリューションが必要になることがよくあります。
ここが サーチスプリング が入ってくる。
この 2 部構成のシリーズでは、Searchspring と Optimizely を統合する方法を検討します。この最初のパートでは、アーキテクチャ、データ フロー、セットアップに焦点を当てます。
Optimizely の検索とナビゲーション (Find) は強力ですが、複雑なコマース シナリオでは、多くの場合、企業は次のことを必要とします。
- 高度なファセットとフィルタリング
- ビジネスユーザー向けの商品管理
- AIを活用した製品ランキング
- リアルタイムオートコンプリート
- 大規模なカタログの高性能検索
Searchspring は検索とマーチャンダイジングを処理することで Optimizely を補完し、Optimizely はコンテンツとコマース ロジックの管理を継続します。
一般的な Searchspring + Optimizely の統合は、次のフローに従います。
- 商品データは Optimizely Commerce (または PIM) から取得されます。
- フィードが生成され、Searchspring に送信されます
- Searchspring はデータにインデックスを付けて処理します
- フロントエンド アプリケーションが Searchspring API を呼び出す
- API 応答を使用して UI を最適化してレンダリングします。
重要なアイデア:
検索は外部化されますが、エクスペリエンスは 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 を公開します。
- 検索結果
- カテゴリページ
- オートコンプリート
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
パート 2 で登場予定:
- フロントエンドの統合
- インラインバナーとマーチャンダイジング
- 現実世界の課題 (ページネーション、キャッシュ、データの不一致)
#Searchspring #と #Optimizely #の統合 #パート #アーキテクチャとセットアップ