/** * @module @nhtio/adk/batteries/vector/solr * * Apache Solr adapter (dense vector / kNN query parser, Solr 9+). A logical collection maps to a * Solr core; the adapter ensures a `DenseVectorField` (`vec`) plus `document`/`metadata` string * fields exist in the core schema, then uses the `{!knn f=vec topK=N}[...]` parser for search. * Score is Solr's cosine similarity ([0,1]). Metadata is a JSON string field filtered with the * neutral filter tree's JS reference evaluator for cross-adapter parity. * * No typed driver — Solr is plain HTTP/JSON, so this uses `fetch` (zero extra dependency). The * target core must already exist (e.g. `solr-precreate ` / the Core Admin API); the adapter * does not create cores at runtime, only their schema fields. `collection` is the core name. */ import { BaseVectorStore } from "../contract"; import type { SearchPlan, UpsertPlan, DeletePlan, CollectionSpec } from "../plan"; import type { VectorMatch, VectorStoreCapabilities, BaseVectorStoreOptions } from "../types"; export interface SolrVectorStoreOptions extends BaseVectorStoreOptions { /** Connection and authentication parameters for the backend. */ connection: { url: string; }; } export declare class SolrVectorStore extends BaseVectorStore { #private; readonly capabilities: VectorStoreCapabilities; /** Static availability probe: whether this adapter's runtime driver can load in the current environment. */ static isAvailable(): boolean; isAvailable(): boolean; connect(): Promise; close(): Promise; createCollection(spec: CollectionSpec, _ifNotExists: boolean): Promise; dropCollection(collection: string, _ifExists: boolean): Promise; hasCollection(collection: string): Promise; renameCollection(_from: string, _to: string): Promise; executeUpsert(plan: UpsertPlan): Promise; executeSearch(plan: SearchPlan): Promise; executeDelete(plan: DeletePlan): Promise; }