How to plan and prepare for a Sitecore Search implementation.
This topic provides information to help you prepare and plan for a Search implementation. It describes the Planning and Configuration phases, before developers begin work on integration.
Every Sitecore Search implementation project is unique. Your business objectives, requirements and searchable content are specifically different. However, every implementation project follows the same high-level process.
The following workflow diagram shows the key phases of a Search implementation project:
After you deploy your Search solution, you engage in cycles of gaining insights from the analytics and feedback, making configuration and integration adjustments, testing and updating your solution.
The Planning phase involves identifying your searchable content and metadata required for indexing your content, understanding the types or formats of content to index and repositories where this content is stored, and envisioning the search user experiences you want to create for your website visitors.
Defining and preparing your searchable content for indexing
One of the first things you do to prepare for a Search implementation is to identify the parts of your content that you want to index or use to build search experiences.
Sitecore Search uses entities to create representations of categories of searchable content in the index. An entity is a grouping of attributes that identifies the parts of content to index and to use in feature configuration to create search experiences.
To learn more about how attributes and features work together in Sitecore Search, refer to this topic.
To simplify the implementation, Sitecore Search provides a default entity called the content entity. This default entity provides generic attributes suitable for most Search implementations and includes, for example, common content attributes such as type, title, and description.
We recommend that you review the complete list of default content entity attributes, and compare it with your own set of content metadata requirements to determine if you'll need to configure additional custom attributes to represent parts of your searchable content for indexing.
The default content entity might contain attributes that are not relevant or applicable to your content or business cases. Unused attributes can remain in the configuration. They will not impact your implementation.
The content entity is extensible. You can add custom attributes required to represent any part of your content items data.
You must make sure that your content items include all the necessary metadata. The metadata values in your content items must be defined exactly as you want to display them in search experiences on your website.
Planning sources configuration for indexing
In Sitecore Search, a source is a configuration that contains the following information used for indexing your content:
the location of your content
how Search connects with the content
the attributes to extract from your content
You can define as many sources as you need to access all your content. You can aggregate search results from multiple sources to provide federated search results, or you can use source IDs as filters in search requests to segregate results.
The following questions can help you determine your sources configuration requirements:
What is the format of the content you want to make searchable? Common examples of content type include webpages, blogs, articles, and popular file formats like DOCX and PDF.
What type of content repositories do you have? Is your searchable content available on websites? Is it stored in a database? How do you make this content available to your audience? This is important to understand the type of sources you'll need to configure for Sitecore Search to reach and extract your content for indexing.
What starting point can Search use to crawl your content? Do you have a sitemap, a sitemap index, or some other logic by which Search can access your content?
How often does your content change? For example, does your content change hourly, daily, or weekly. This information is useful for configuring indexing schedules in your sources.
Is the content publicly accessible? Is authentication required to access your content? If so, you'll need to specify credentials in the source configuration so that crawlers can reach your content for indexing.
Do you have content in multiple languages?
You can refer to this topic for more information to help you determine the type of sources that are appropriate for your content. A Sitecore integration specialist can also help you determine the appropriate type of source configuration to meet specific requirements.
Defining search experiences
There are two basic search experiences in Sitecore Search for which you can create a variety of designs:
Preview search - displays search results in real time as a user types in the search text field.
Search results - displays search results on a page with UI features including filtering, sorting, and pagination, and more.
Following are some questions to help you define search experiences:
Do you want to expose a search bar or a search icon to expose a search field to your website visitors?
Do you want to offer a search bar with a type-ahead experience and suggestions?
How do you want to present search results? Do you want to use a carousel, or display results as a list?
What content attributes do you want to display when presenting search results?
Do you want to provide faceted search? Do you want to display facets or facet values in a specific order?
Do you want to provide site visitors with the ability to sort search results? If so, based on what attributes?
Do you need to consolidate content items from multiple sources into a single set of search results? Or do you need to restrict the scope of a search to a specific source?
Do you have a requirement to provide different experiences based on site or visitor context? Do want to provide the same search experience on all pages? Identify and describe the scenarios you need to support.
Sitecore Search configuration takes place in the Customer Engagement Console (CEC). The workflow for the initial configuration of a Search implementation is as follows:
Configure attributes and features.
Configure sources for indexing your content.
Every Sitecore Search domain comes with a default Search Results widget and a Preview Search widget that provides basic functionality. You can create variations of these widgets and configure rules to customize search experiences based on your needs. If your design requires additional pages and widgets, you can create them at any time.
The initial configuration must be completed before any development or integration work can begin.
Integrating search experiences into your web pages
When the initial configuration is complete, a developer can begin to integrate search preview and full page search experiences on your website pages. Tracking visitor-driven events is also a key part of every Search implementation. Sitecore Search uses the collected events data for generating analytics insights and to drive personalization.
You can read more about search experience integration options and events tracking in the Sitecore Search developer documentation.
Validating, testing, and fine tuning your implementation
The Search implementation is an iterative process. After the initial deployment, you will test the experiences you've created on your website and fine tune search results as needed.
After you deploy your search solution to production, Sitecore Search learns from interactions on your website to generate insightful analytics data that enables you to fine-tune the configuration to provide optimal search experiences.