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
<PackageReference Include="Umbraco.Community.RazorSearch" Version="18.0.0" />
<PackageVersion Include="Umbraco.Community.RazorSearch" Version="18.0.0" />
<PackageReference Include="Umbraco.Community.RazorSearch" />
paket add Umbraco.Community.RazorSearch --version 18.0.0
#r "nuget: Umbraco.Community.RazorSearch, 18.0.0"
#:package Umbraco.Community.RazorSearch@18.0.0
#addin nuget:?package=Umbraco.Community.RazorSearch&version=18.0.0
#tool nuget:?package=Umbraco.Community.RazorSearch&version=18.0.0
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.
Search
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 | Versions 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. |
-
net10.0
- AngleSharp (>= 1.8.0)
- Microsoft.EntityFrameworkCore (>= 10.0.12)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.12)
- Umbraco.Cms (>= 18.0.0 && < 19.0.0)
- Umbraco.Cms.Persistence.EFCore (>= 18.0.0 && < 19.0.0)
- Umbraco.Cms.Search.Core (>= 18.0.0 && < 19.0.0)
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 |