Overview:
This page explains how to integrate Norce Commerce Product Feed with external search systems. It covers architectural patterns, export strategies, and best practices for maintaining accurate product data and search functionality.
There are two main patterns for working with products and search in Norce Commerce:
- Direct Service Usage: Use Norce Commerce Services methods and functions. This is not examplained in this page. See details here.
- External Search Engine: Use an external search engine updated via the Norce Commerce Product Feed (described below).
For technical details about the Product Feed Service, see Building a Norce Commerce Product Feed Receiver.
Product Feed API references:
You can also combine both approaches, for example, using external search for initial queries and Norce Commerce Services for filters or real-time data.
Description of the logical architecture image:
The architecture involves exporting product data from Norce Commerce to an external search engine. The external search engine indexes the catalog for fast search and navigation. For real-time data such as price and availability, the front-end queries Norce Commerce Services directly to ensure accuracy.
When using an external search engine, build its index from the Norce product catalog. For frequently changing data (like price and availability), fetch directly from Norce Commerce Services to ensure up-to-date information.
- Export a full product feed regularly (e.g., every morning).
- Export delta feeds (changes only) more frequently.
- For product listings, supplement search results with real-time data from Norce Commerce Services.
Description of the process schema image:
The process involves scheduling full and delta exports from Norce Commerce Product Feed to the external search system. Full exports refresh the entire catalog, while delta exports update only changed products. ProductStatus exports provide frequent updates on product status.
Recommended steps:
- Schedule full catalog exports during low-traffic periods.
- Use delta exports to update changes between full exports.
- If a delta import fails, the next full export will correct inconsistencies.
- Use
ProductStatus
exports for frequent updates on product status.
Below are example strategies for different types of clients. Each scenario is self-contained and includes recommended export frequencies and direct service calls.
- Description: Assortments change infrequently; prices and availability change, but not critically.
- Full exports: Every week (e.g., Sunday mornings).
- Delta exports: Every morning.
- ProductStatus exports: Hourly.
- Direct calls to Norce Commerce Product Service: Not needed.
- Description: Assortments change infrequently, but availability changes often and must be accurate to prevent overselling.
- Full exports: Every week (e.g., Sunday mornings).
- Delta exports: Every morning.
- ProductStatus exports: Hourly (provides updates on inactive or out-of-stock products).
- Direct calls to Norce Commerce Product Service:
- For products with stock below a defined threshold (
StockBreakPoint
), check availability directly using:- GetProductOnHandByPartNo
- ListProductOnHandByBasket during checkout.
- For products with stock below a defined threshold (
- Description: Assortments change frequently; many suppliers; supplier-based rules; price accuracy is important.
- Full exports: Every morning.
- Delta exports: Hourly.
- ProductStatus exports: 3–4 times per hour (captures price and supplier changes).
- Direct calls to Norce Commerce Product Service: Not needed.
- Description: Assortments change infrequently; availability is not sensitive; many companies have custom prices.
- Full exports: Every week (e.g., Sunday mornings).
- Delta exports: Every morning.
- ProductStatus exports: Hourly.
- Direct calls to Norce Commerce Product Service:
- For guest users, show standard price from search.
- For logged-in users, supplement search results with real-time prices using ListProductsByIds3.
Note:
For details on using OnHand (availability) functionality in Norce Commerce, see Availability structures.
If you have multiple target systems with specific price lists and assortments:
- Create a main feed for the full product export.
- Create separate feeds for each specific assortment or price list.
- Use smaller ProductStatus exports for frequent updates, and merge additional information from the main export during mapping.