This topic describes search functionality in Episerver. Content can be retrieved through listings and searching based on a set of criteria, or through query-based searches. You can use the basic Episerver search, or add Episerver Find to add more powerful search features.
To build search functionality, you can for example list pages from a root, or find pages based on a collection of search criteria. See Searching and filtering.
Episerver Search provides basic query-based search features, based on the Lucene search engine. To use the built-in search functionality, the NuGet package EPiServer.Search must be installed, see Installing and deploying Search Service.
Search in Episerver Commerce also is based on Lucene, but Commerce Manager (the back-end part of Commerce) has its own pluggable search provider API. See Search in the Commerce Developer Guide for information about Commerce-specific search.
You also can use Episerver Find, which is a cloud-ready extension that lets you build advanced customized search features based on your content model. Find requires a separate license.
Episerver Search has the features listed below.
Search across all content types such as pages, blocks, files, videos and images, product content in a Commerce product catalog, and community content. Built-in filtering limits the search results to the type of content.
Note: You do not get search results on content in blocks added in a content area in a template. Usually, this is not a problem because blocks are often used to promote content in a specific source page, which are found when performing the search.
Facets are a type of filtering or grouping, where you present groups (facets) of content to limit the search after getting the first query from the user. You can search on categories and content types, and define which category and type facets you want to filter.
Automatically add items to the search index, such as when you upload a file or publish a page, instead of crawling the entire HTML content of the site, and ensuring better site performance.
Index any type of content, including content from external systems, using the search web service and an open protocol based on Atom. The index is located in your server domain, and your search feature has direct access to these through the local API.
Search results are filtered by access rights, ensuring that users see only content to which they have access.
You can replace the built-in Lucene indexing with another index without changing the code on the client, which uses the same API when searching.
The most important related information appears as you type the search phrase, and becomes more specific as you type more characters.
Default search configuration
The full-text search in Episerver comes with a set of default values, which usually do not need to be changed. To find out how it works, the full-text search client and service are described in the following topics:
The built-in search provides powerful possibilities when properly set up and configured. However, you should consider the following limitations when implementing Episerver Search.
If you have advanced requirements, we recommend using Episerver Find for your solution.
The following options are available when implementing search queries in Episerver CMS:
EPiServer.Core.ContentSearchHandler is a CMS-specific search handler that handles common scenarios when searching for content. It has methods like GetSearchResults and GetContent to simplify the development process.
You can build your own queries to ask the Episerver Search Index by grouping together different queries to find what you are looking for. You can use the following CMS-specific queries:
Last updated: Sep 11, 2017