---
title: "Architecture overview"
slug: "architecture-overview"
abstract: "Understand the different components in a typical Search implementation and how they interact with each other."
---
# Architecture overview

This topic explains the key architectural components in a typical Sitecore Search implementation.

The following diagram illustrates these components and how they interact with each other.

![Components of a Search implementation](https://doc.sitecore.com/api/markdown-image/search/en/developers/search-developer-guide/images/components-sitecore.png)

## Sources

Administrators define content sources such as structured feeds, APIs, or supported platforms. These sources serve as the bridge to index data into Sitecore Search from customers/external sources to Search storages.

## Connectors

Administrators set up connectors that create searchable content from the external sources by crawling through them.

## Content collection

All indexed content is stored in a Content Collection. Your search queries will return results from this indexed dataset, not from the original source.

- **Attributes** - you define key-value pairs associated with the indexed content such as category, language, or brand. You’ll use these in queries for filtering, faceting, or sorting results.

## The Sitecore Search user interface

The interface that developers use to configure settings to create and refine the search experience. It is developed with both the technical and the marketer/merchandiser persona in mind.

- **Pages, widgets, and features** - administrators configure search experiences using pages, widgets, and features like facets, filtering, sorting, and so on. For example, they can create a landing page, add a preview search widget, and use synonyms to correct common typos. As a developer, you reference these pages and widgets by their IDs when integrating them into your site.

## APIs

- **Search and Recommendations API** - the API that’s triggered when the user makes a search query from the search bar.
- **Ingestion API** - the API that makes incremental updates to indexes. This is to ensure that updated data from the actual sources is reflected in your index documents.
- **Events API** - the API that sends analytics data from widgets/pages back to Sitecore Search based on user interactions to drive personalization.

## Front end

This is the website where users enter search queries, interact with the search experiences like autocomplete, Q&A, recommendations, and so on. It essentially displays the result of your configured search experience.

- **SDK** - developers can use SDKs or the REST APIs to integrate their website with Sitecore Search. Using the SDKs provides a better developer experience compared to the REST APIs.