Umbraco.Community.RazorSearch 18.0.0

dotnet add package Umbraco.Community.RazorSearch --version 18.0.0
                    
NuGet\Install-Package Umbraco.Community.RazorSearch -Version 18.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Umbraco.Community.RazorSearch" Version="18.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Umbraco.Community.RazorSearch" Version="18.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Umbraco.Community.RazorSearch" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Umbraco.Community.RazorSearch --version 18.0.0
                    
#r "nuget: Umbraco.Community.RazorSearch, 18.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Umbraco.Community.RazorSearch@18.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Umbraco.Community.RazorSearch&version=18.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Umbraco.Community.RazorSearch&version=18.0.0
                    
Install as a Cake Tool

RazorSearch

Search rendered Umbraco pages with Umbraco Search. RazorSearch stores HTML snapshots, extracts title, headings and body text, and contributes them to a dedicated search index.

This branch targets Umbraco 18.1.1+ within 18.x, .NET 10 and Umbraco Search Core 18.1.0+. Use v17/main and the 17.x package line for Umbraco 17. The first releases are beta packages. SQLite is not release-verified in this beta; known concurrency limitations are recorded in the release notes.

Install with Examine

dotnet add package Umbraco.Community.RazorSearch.Examine --version 18.0.0-beta.1

The companion includes the core package and creates its physical Examine index. Enable Search and the provider in the consuming application's Program.cs:

using Umbraco.Cms.Search.Core.DependencyInjection;
using Umbraco.Cms.Search.Provider.Examine.DependencyInjection;

builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddComposers()
    .AddSearchCore()
    .AddExamineSearchProvider()
    .Build();

Keep the application's normal Umbraco boot, middleware and endpoint setup. Start the site, then queue a rebuild of existing published content from the RazorSearch backoffice dashboard.

Core is provider-agnostic. It does not call AddSearchCore(), register a provider or configure the application's published-content index. For a different provider, install Umbraco.Community.RazorSearch directly and configure that provider yourself. Examine is the provider covered by the beta acceptance matrix.

Configuration

{
  "Umbraco": {
    "Community": {
      "RazorSearch": {
        "SnapshotExtraction": {
          "BodySources": [{ "Type": "selector", "Selector": "main" }]
        }
      }
    }
  }
}

Settings live under Umbraco:Community:RazorSearch. The NuGet package includes an appsettings-schema. The first build after installation copies it to the app and registers it in appsettings-schema.json, including when core is installed transitively through the companion.

using Umbraco.Community.RazorSearch;
using Umbraco.Community.RazorSearch.Models;

// Inject IRazorSearchService as searchService.
var request = new RazorSearch("umbraco")
    .InCulture("da-DK")
    .Page(1, 10);
IRazorSearchResult result = await searchService.SearchAsync(request);

A specified culture must match a configured Umbraco culture. The search includes that culture and invariant documents. Without a culture it searches invariant documents only. There is no implicit request-culture fallback.

Operation

Rendering and indexing happen asynchronously after publication. Each document and culture has one current snapshot. A temporary rendering failure preserves the last usable snapshot. Unpublishing, deleting and excluding content remove it from search.

The render queue and its history live in memory. Restarting the app loses pending work. Run a manual rebuild when necessary, including after changes to templates, shared content or extraction rules.

Load balancing targets one dedicated backoffice server and multiple frontends with a shared SQL Server database and separate local Examine indexes. The backoffice owns rendering; Umbraco Search distributes index refreshes. Configure an internal render destination to avoid a stale frontend or CDN response. Multiple active backoffice servers are outside the beta scope.

Documentation

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Umbraco.Community.RazorSearch:

Package Downloads
Umbraco.Community.RazorSearch.Examine

Examine provider companion package for Umbraco.Community.RazorSearch.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
18.0.0 48 9/10/2026
18.0.0-rc1 50 9/10/2026
17.0.0-rc1 45 9/10/2026