Lait.Umbraco.Search.Typesense
1.4.8
dotnet add package Lait.Umbraco.Search.Typesense --version 1.4.8
NuGet\Install-Package Lait.Umbraco.Search.Typesense -Version 1.4.8
<PackageReference Include="Lait.Umbraco.Search.Typesense" Version="1.4.8" />
<PackageVersion Include="Lait.Umbraco.Search.Typesense" Version="1.4.8" />
<PackageReference Include="Lait.Umbraco.Search.Typesense" />
paket add Lait.Umbraco.Search.Typesense --version 1.4.8
#r "nuget: Lait.Umbraco.Search.Typesense, 1.4.8"
#:package Lait.Umbraco.Search.Typesense@1.4.8
#addin nuget:?package=Lait.Umbraco.Search.Typesense&version=1.4.8
#tool nuget:?package=Lait.Umbraco.Search.Typesense&version=1.4.8
Umbraco CMS Integrations: Search - Typesense
A search engine integration for Umbraco CMS (v15/16, new backoffice) that lets editors manage Typesense collections directly from the backoffice, map content types and properties into search documents, build indices, keep them in sync on publish, and preview searches.
It is modelled on the official Umbraco.Cms.Integrations.Search.Algolia integration, adapted to Typesense and the new (Lit/TypeScript) backoffice.
Features
- A Settings dashboard ("Typesense Search") to create, edit, build, delete and search indices.
- Map one or more content types and the properties to index per type.
- Auto-schema collections (
".*"wildcard) so documents are schemaless, like Algolia records. - Automatic sync of published / unpublished / trashed content via notification handlers.
- Extensible value converters (media picker, decimal, integer, boolean, tags) and a custom record builder pipeline.
- Works with both self-hosted Typesense and Typesense Cloud (configurable host/port/protocol/keys).
Configuration
Add a Typesense settings section under Umbraco:Cms:Integrations:Search in appsettings.json:
{
"Umbraco": {
"Cms": {
"Integrations": {
"Search": {
"Typesense": {
"Settings": {
"Host": "localhost",
"Port": "8108",
"Protocol": "http",
"ApiKey": "xyz",
"SearchApiKey": ""
}
}
}
}
}
}
}
For Typesense Cloud, use your cluster hostname, Port 443, Protocol https, and an admin API key.
Port may be left empty — the protocol's standard port (443 for https, 80 for http) is used.
SearchApiKey is optional; when empty the admin ApiKey is used for search requests.
Running Typesense locally
docker run -p 8108:8108 -v /tmp/typesense-data:/data \
typesense/typesense:27.1 \
--data-dir /data --api-key=xyz --enable-cors
How it works
| Concern | Type |
|---|---|
| Connection settings | Configuration/TypesenseSettings.cs |
| Collection CRUD + import | Services/TypesenseIndexService.cs |
Search (query_by) |
Services/TypesenseSearchService.cs |
| Index definition storage (DB) | Services/TypesenseIndexDefinitionStorage.cs + Migrations/ |
| Document construction | Builders/ContentRecordBuilder.cs |
| Publish/sync handlers | Handlers/ |
| Management API | Controllers/ (/umbraco/management/api/v1/typesense/...) |
| Backoffice dashboard | Client/ (built to App_Plugins/...) |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Typesense (>= 8.3.0)
- Umbraco.Cms.Api.Management (>= 17.0.0 && < 18.0.0)
- Umbraco.Cms.Web.Common (>= 17.0.0 && < 18.0.0)
- Umbraco.Cms.Web.Website (>= 17.0.0 && < 18.0.0)
-
net9.0
- Typesense (>= 8.3.0)
- Umbraco.Cms.Api.Management (>= 15.0.0 && < 17.0.0)
- Umbraco.Cms.Web.Common (>= 15.0.0 && < 17.0.0)
- Umbraco.Cms.Web.Website (>= 15.0.0 && < 17.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.