Sylin.Koan.Data.Vector.Connector.RedisVector
1.0.92
dotnet add package Sylin.Koan.Data.Vector.Connector.RedisVector --version 1.0.92
NuGet\Install-Package Sylin.Koan.Data.Vector.Connector.RedisVector -Version 1.0.92
<PackageReference Include="Sylin.Koan.Data.Vector.Connector.RedisVector" Version="1.0.92" />
<PackageVersion Include="Sylin.Koan.Data.Vector.Connector.RedisVector" Version="1.0.92" />
<PackageReference Include="Sylin.Koan.Data.Vector.Connector.RedisVector" />
paket add Sylin.Koan.Data.Vector.Connector.RedisVector --version 1.0.92
#r "nuget: Sylin.Koan.Data.Vector.Connector.RedisVector, 1.0.92"
#:package Sylin.Koan.Data.Vector.Connector.RedisVector@1.0.92
#addin nuget:?package=Sylin.Koan.Data.Vector.Connector.RedisVector&version=1.0.92
#tool nuget:?package=Sylin.Koan.Data.Vector.Connector.RedisVector&version=1.0.92
Sylin.Koan.Data.Vector.Connector.RedisVector
Use Redis Search vector indexing through Koan's Entity-first vector API. Applications already operating a vector-enabled Redis deployment can add semantic search without adopting a second data service.
Declare the space
dotnet add package Sylin.Koan.Data.Vector.Connector.RedisVector
public sealed class Article : Entity<Article>;
services.AddKoan(koan => koan.Data
.Source("Search")
.Vector<Article>(space => space
.Name("content")
.Dimensions(1536)
.Metric(VectorMetric.Cosine)
.Visibility(VectorVisibility.Session)));
Reference the package, call AddKoan() once, and use the ordinary Vector<TEntity> operations. The connector
reuses ConnectionStrings:Redis, Koan's shared Redis discovery, and its host-owned multiplexer. It adds no provider
registration or second Redis client to application code.
Usage: save and search
await Vector<Article>.Save(article.Id, embedding, new
{
article.Category,
article.Language
});
var matches = await Vector<Article>.Search(embedding, query => query
.Top(12)
.Where(Filter.All(
Filter.Eq("Category", "support"),
Filter.In("Language", ["en", "fr"]))));
Awaited saves and deletes are immediately visible. Cosine, Euclidean, and dot-product results use normalized
[0,1] similarity where larger always means closer.
Runtime prerequisite
The selected Redis endpoint must provide Redis Search with vector indexing. Plain Redis is insufficient and fails
with a corrective health or operation error. Redis Search vector indexes live in logical database 0; a vector source
that requests another database is rejected instead of silently addressing the wrong index. Record and cache sources
may continue using their own logical database while sharing the same Redis process and multiplexer. Readiness uses
the ordinary Search information surface and does not require the administrative FT._LIST permission; immutable
vector shape is validated when a declared space is first ensured or used.
Named sources can use Adapter=redis or Adapter=redis-vector; both resolve through the existing Redis connection
owner. Standard source Access and StorageLifecycle policy remains in force.
Guarantees and limits
- Managed sources create and validate an exact
FLAT/FLOAT32index against the declared dimensions, metric, space, and model. Reads never create storage. - Native Redis Search prefilters implement equality, numeric comparison, set, existence, size, boolean, and negation semantics over nested metadata paths. Finite numeric metadata that Redis NUMERIC cannot represent exactly still round-trips, while relational filters over that path fail closed.
- Neutral metadata remains lossless in an unindexed payload; deterministic TAG/NUMERIC projections own filtering.
- Vector keys and indexes have their own
_vectornamespace, so record and vector representations of one Entity coexist in one Redis deployment. - Batches pipeline native Redis operations, preserve ordered outcomes, and report
BatchAtomicity.NotGuaranteed. - Eventual visibility, hybrid search, continuations, streaming export, multiple vectors per Entity, and atomic batches are declined explicitly.
RedisVectorOptions bounds metadata bytes, batch points, search candidates, per-point projection, and total
dynamic numeric/size schema paths. See
TECHNICAL.md for native shape and failure semantics.
| 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
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.10)
- Microsoft.Extensions.Configuration.Json (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Console (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
- Newtonsoft.Json (>= 13.0.4)
- StackExchange.Redis (>= 3.0.17)
- Sylin.Koan.Core (>= 1.0.39 && < 2.0.0)
- Sylin.Koan.Data.Abstractions (>= 1.0.41 && < 2.0.0)
- Sylin.Koan.Data.Core (>= 1.0.73 && < 2.0.0)
- Sylin.Koan.Data.Vector (>= 1.0.49 && < 2.0.0)
- Sylin.Koan.Data.Vector.Abstractions (>= 1.0.33 && < 2.0.0)
- Sylin.Koan.Redis (>= 1.0.21 && < 2.0.0)
- Sylin.Koan.Redis.Abstractions (>= 1.0.12 && < 2.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.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.92 | 126 | 9/13/2026 |
| 1.0.89 | 106 | 9/12/2026 |
| 1.0.86 | 98 | 9/12/2026 |
| 1.0.84 | 101 | 9/10/2026 |
| 1.0.80 | 113 | 9/10/2026 |
| 1.0.76 | 111 | 9/9/2026 |
| 1.0.72 | 106 | 9/9/2026 |
| 1.0.69 | 102 | 9/9/2026 |
| 1.0.64 | 104 | 9/9/2026 |
| 1.0.62 | 116 | 9/9/2026 |
| 1.0.57 | 113 | 9/5/2026 |
| 1.0.56 | 114 | 8/30/2026 |
| 1.0.55 | 106 | 8/30/2026 |
| 1.0.54 | 104 | 8/28/2026 |
| 1.0.53 | 105 | 8/28/2026 |
| 1.0.52 | 108 | 8/28/2026 |
| 1.0.51 | 94 | 8/28/2026 |
| 1.0.50 | 105 | 8/28/2026 |
| 1.0.49 | 115 | 8/27/2026 |
| 1.0.44 | 120 | 8/25/2026 |