Sylin.Koan.Data.SearchEngine
0.17.0
dotnet add package Sylin.Koan.Data.SearchEngine --version 0.17.0
NuGet\Install-Package Sylin.Koan.Data.SearchEngine -Version 0.17.0
<PackageReference Include="Sylin.Koan.Data.SearchEngine" Version="0.17.0" />
<PackageVersion Include="Sylin.Koan.Data.SearchEngine" Version="0.17.0" />
<PackageReference Include="Sylin.Koan.Data.SearchEngine" />
paket add Sylin.Koan.Data.SearchEngine --version 0.17.0
#r "nuget: Sylin.Koan.Data.SearchEngine, 0.17.0"
#:package Sylin.Koan.Data.SearchEngine@0.17.0
#addin nuget:?package=Sylin.Koan.Data.SearchEngine&version=0.17.0
#tool nuget:?package=Sylin.Koan.Data.SearchEngine&version=0.17.0
Koan.Data.SearchEngine
Shared support for the search-engine vector connectors — Koan.Data.Connector.ElasticSearch and
Koan.Data.Connector.OpenSearch. Both engines are built on Apache Lucene and speak the same query
DSL, so the metadata-filter translation lives here once instead of being duplicated per adapter. The
package is named for the engine category (the same convention as Koan.Data.Relational), so the
dependency reads clearly without Lucene-internals knowledge.
SearchEngineFilterTranslator— the single source of truth for translating the unifiedFilterAST into the Elasticsearch/OpenSearch query DSL, plus the oneVectorFilterCapabilitiesconstant both adapters expose.
Capabilities
- Translate the unified
FilterAST → the search-engine query DSL (term/terms/range/wildcard/bool/exists). - One operator-aware
VectorFilterCapabilitiesvalue shared by both adapters. - Null-inclusive negation (
Ne/Nin/HasNone) via Lucenebool/must_not.
Usage
Each connector calls the shared translator, passing its own engine label so a not-supported error names the right adapter:
var query = SearchEngineFilterTranslator.TranslateWhereClause(
options.Filter, metadataField, engine: "Elasticsearch");
Notes:
- The
enginelabel only personalizes not-supported exception messages; the translation is identical. - The repositories stay separate (their REST/transport wiring differs); only the translation and the capability constant are shared.
References
- Vector pathway + filter model:
~/decisions/DATA-0097-vector-pathway-parity.md - Embedding↔vector seam (§10.4, the ES/OS shared base):
~/decisions/AI-0036-embedding-vector-seam.md
| 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
- Newtonsoft.Json (>= 13.0.4)
- Sylin.Koan.Data.Abstractions (>= 0.17.0 && < 0.18.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Sylin.Koan.Data.SearchEngine:
| Package | Downloads |
|---|---|
|
Sylin.Koan.Data.Connector.ElasticSearch
Elasticsearch vector adapter for Koan: index provisioning, kNN search, metadata filtering and health checks via the Elasticsearch REST API. |
|
|
Sylin.Koan.Data.Connector.OpenSearch
OpenSearch vector adapter for Koan: index provisioning, kNN search, metadata filtering and health checks via the OpenSearch REST API. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.17.0 | 0 | 6/12/2026 |
See release notes: https://github.com/sylin-labs/Koan-framework/releases