Search System
Internal system that keeps product data searchable. Consumes product change events from the Product Catalog System, maintains a search index, and serves fast product search to the rest of the business.
Overview
The Search System makes the catalog discoverable. It subscribes to product change events published by the Product Catalog SystemProduct Catalog SystemSystemv1.0.0Internal system that is the source of truth for product data. Owns the product database and publishes product change eve...Ownerproduct-platformMapView docs, updates its Search IndexSearch IndexContainerv1.0.0The denormalised, search-optimised index of products that powers product search.MapView docs, and exposes a search API so other teams can find products without ever touching the catalog database directly.
Context Diagram
How this system relates to the other systems around it.
Resource Diagram
The services, data stores and messages that make up this system.
What’s inside
| Component | Type | Responsibility |
|---|---|---|
| Search APISearch APIServicev1.0.0 | Service | Public-facing API. Serves product search queries from the index. |
| Search IndexerSearch IndexerServicev1.0.0 | Service | Consumes product change events and keeps the search index up to date. |
| Search IndexSearch IndexContainerv1.0.0 | Data store | The index that powers product search. |
Messages this system consumes
The Search System reacts to product changes published by the Product Catalog System:
- Product CreatedProduct CreatedEventv1.0.0Published when a new product has been added to the catalog. Ownerproduct-platformSchemaMapView docs — index the new product.
- Product UpdatedProduct UpdatedEventv1.0.0Published when an existing product's data has changed. Ownerproduct-platformSchemaMapView docs — re-index the changed product.
- Product DeletedProduct DeletedEventv1.0.0Published when a product has been removed from the catalog. Ownerproduct-platformSchemaMapView docs — remove the product from the index.