HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Full-text search

Describes full-text search.

📘

Note

The Full-text Search Service applies to CMS 11 and is not supported on Optimizely Digital Experience Platform (DXP) and other cloud service deployments. It is a legacy feature that will be removed in future versions.
This section is not supported for ASP.NET Core-based applications.

The Optimizely Content Management System (CMS) Full-Text Search Service and Full-Text Search Client are a stand-alone REST service and API for adding and managing searchable items in a full-text search index. These are shipped together with the EPiServer.Search NuGet package.

The features of the Full-text Search include:

  • Event-driven indexing
    Automatically adds 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, to ensure better site performance.
  • Indexing any type of content
    Indexes 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.

Limitations

You should consider the following limitations when implementing Optimizely Search & Navigation:

  • Optimizely Search & Navigation does not index blocks in content areas. Often these blocks contain linked references to other content and, therefore, do not need to be indexed. If you need to index actual block content, Optimizely Search & Navigation cannot deliver this.
  • In a load-balanced environment, the supported scenario is to install the search service on one of the machines, and configure that machine in the search settings for other machines.

If you have advanced requirements, we recommend using Optimizely Search & Navigation for your solution.

Search queries in CMS

The following options are available when implementing search queries in CMS:

  • ContentSearchHandler
    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.

  • Custom Queries
    You can build your own queries to ask the Optimizely Search Index by grouping together different queries to find what you are looking for. You can use the following CMS-specific queries:

    • ContentCategoryQuery when searching for categories
    • ContentQuery when searching for content

Implementation

The full-text search in CMS 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: