---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/vector/contract/classes/BaseVectorStore.md
---

# Abstract Class: BaseVectorStore

Defined in: [batteries/vector/contract.ts:31](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L31)

## Extended by

* [`TypesenseVectorStore`](../../../../../../batteries/vector/typesense/classes/TypesenseVectorStore.md)
* [`WeaviateVectorStore`](../../weaviate/classes/WeaviateVectorStore.md)
* [`VespaVectorStore`](../../../../../../batteries/vector/vespa/classes/VespaVectorStore.md)
* [`SurrealDBVectorStore`](../../../../../../batteries/vector/surrealdb/classes/SurrealDBVectorStore.md)
* [`SqliteVecVectorStore`](../../sqlite_vec/classes/SqliteVecVectorStore.md)
* [`SolrVectorStore`](../../../../../../batteries/vector/solr/classes/SolrVectorStore.md)
* [`S3VectorsVectorStore`](../../../../../../batteries/vector/s3vectors/classes/S3VectorsVectorStore.md)
* [`QdrantVectorStore`](../../qdrant/classes/QdrantVectorStore.md)
* [`PineconeVectorStore`](../../pinecone/classes/PineconeVectorStore.md)
* [`PgVectorStore`](../../pgvector/classes/PgVectorStore.md)
* [`RedisVectorStore`](../../../../../../batteries/vector/redis/classes/RedisVectorStore.md)
* [`OpenSearchVectorStore`](../../../../../../batteries/vector/opensearch/classes/OpenSearchVectorStore.md)
* [`OramaVectorStore`](../../orama/classes/OramaVectorStore.md)
* [`Neo4jVectorStore`](../../../../../../batteries/vector/neo4j/classes/Neo4jVectorStore.md)
* [`Oracle23aiVectorStore`](../../../../../../batteries/vector/oracle23ai/classes/Oracle23aiVectorStore.md)
* [`MongoDBVectorStore`](../../../../../../batteries/vector/mongodb/classes/MongoDBVectorStore.md)
* [`MariaDBVectorStore`](../../../../../../batteries/vector/mariadb/classes/MariaDBVectorStore.md)
* [`MilvusVectorStore`](../../milvus/classes/MilvusVectorStore.md)
* [`MeilisearchVectorStore`](../../../../../../batteries/vector/meilisearch/classes/MeilisearchVectorStore.md)
* [`InMemoryVectorStore`](../../in_memory/classes/InMemoryVectorStore.md)
* [`LanceDBVectorStore`](../../../../../../batteries/vector/lancedb/classes/LanceDBVectorStore.md)
* [`DuckDBVectorStore`](../../../../../../batteries/vector/duckdb/classes/DuckDBVectorStore.md)
* [`HnswlibVectorStore`](../../../../../../batteries/vector/hnswlib/classes/HnswlibVectorStore.md)
* [`ElasticsearchVectorStore`](../../../../../../batteries/vector/elasticsearch/classes/ElasticsearchVectorStore.md)
* [`CloudflareVectorizeVectorStore`](../../../../../../batteries/vector/cloudflare/classes/CloudflareVectorizeVectorStore.md)
* [`ChromaVectorStore`](../../chroma/classes/ChromaVectorStore.md)
* [`ClickHouseVectorStore`](../../../../../../batteries/vector/clickhouse/classes/ClickHouseVectorStore.md)
* [`ArangoDBVectorStore`](../../../../../../batteries/vector/arangodb/classes/ArangoDBVectorStore.md)
* [`CouchbaseVectorStore`](../../../../../../batteries/vector/couchbase/classes/CouchbaseVectorStore.md)

## Implements

* [`PlanSink`](../../builder/interfaces/PlanSink.md)
* [`SchemaExecutor`](../../schema/interfaces/SchemaExecutor.md)

## Constructors

### Constructor

```ts
new BaseVectorStore(options: BaseVectorStoreOptions): BaseVectorStore;
```

Defined in: [batteries/vector/contract.ts:35](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L35)

#### Parameters

| Parameter | Type                                                                         |
| --------- | ---------------------------------------------------------------------------- |
| `options` | [`BaseVectorStoreOptions`](../../types/interfaces/BaseVectorStoreOptions.md) |

#### Returns

`BaseVectorStore`

## Properties

| Property                                          | Modifier   | Type                                                                           | Defined in                                                                                                              |
| ------------------------------------------------- | ---------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
|  `capabilities` | `abstract` | [`VectorStoreCapabilities`](../../types/interfaces/VectorStoreCapabilities.md) | [batteries/vector/contract.ts:32](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L32) |

## Accessors

### schema

#### Get Signature

```ts
get schema(): VectorSchemaBuilder;
```

Defined in: [batteries/vector/contract.ts:64](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L64)

##### Returns

[`VectorSchemaBuilder`](../../schema/classes/VectorSchemaBuilder.md)

## Methods

### asCallable()

```ts
asCallable(): CallableVectorStore;
```

Defined in: [batteries/vector/contract.ts:73](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L73)

#### Returns

[`CallableVectorStore`](../type-aliases/CallableVectorStore.md)

***

### close()

```ts
abstract close(): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:41](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L41)

#### Returns

`Promise`<`void`>

***

### connect()

```ts
abstract connect(): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:40](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L40)

#### Returns

`Promise`<`void`>

***

### createCollection()

```ts
abstract createCollection(spec: CollectionSpec, ifNotExists: boolean): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:47](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L47)

#### Parameters

| Parameter     | Type                                                        |
| ------------- | ----------------------------------------------------------- |
| `spec`        | [`CollectionSpec`](../../plan/interfaces/CollectionSpec.md) |
| `ifNotExists` | `boolean`                                                   |

#### Returns

`Promise`<`void`>

#### Implementation of

[`SchemaExecutor`](../../schema/interfaces/SchemaExecutor.md).[`createCollection`](../../schema/interfaces/SchemaExecutor.md#createcollection)

***

### dropCollection()

```ts
abstract dropCollection(collection: string, ifExists: boolean): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:48](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L48)

#### Parameters

| Parameter    | Type      |
| ------------ | --------- |
| `collection` | `string`  |
| `ifExists`   | `boolean` |

#### Returns

`Promise`<`void`>

#### Implementation of

[`SchemaExecutor`](../../schema/interfaces/SchemaExecutor.md).[`dropCollection`](../../schema/interfaces/SchemaExecutor.md#dropcollection)

***

### executeDelete()

```ts
abstract executeDelete(plan: DeletePlan): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:45](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L45)

#### Parameters

| Parameter | Type                                                |
| --------- | --------------------------------------------------- |
| `plan`    | [`DeletePlan`](../../plan/interfaces/DeletePlan.md) |

#### Returns

`Promise`<`void`>

#### Implementation of

[`PlanSink`](../../builder/interfaces/PlanSink.md).[`executeDelete`](../../builder/interfaces/PlanSink.md#executedelete)

***

### executeSearch()

```ts
abstract executeSearch(plan: SearchPlan): Promise<VectorMatch[]>;
```

Defined in: [batteries/vector/contract.ts:43](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L43)

#### Parameters

| Parameter | Type                                                |
| --------- | --------------------------------------------------- |
| `plan`    | [`SearchPlan`](../../plan/interfaces/SearchPlan.md) |

#### Returns

`Promise`<[`VectorMatch`](../../types/interfaces/VectorMatch.md)\[]>

#### Implementation of

[`PlanSink`](../../builder/interfaces/PlanSink.md).[`executeSearch`](../../builder/interfaces/PlanSink.md#executesearch)

***

### executeUpsert()

```ts
abstract executeUpsert(plan: UpsertPlan): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:44](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L44)

#### Parameters

| Parameter | Type                                                |
| --------- | --------------------------------------------------- |
| `plan`    | [`UpsertPlan`](../../plan/interfaces/UpsertPlan.md) |

#### Returns

`Promise`<`void`>

#### Implementation of

[`PlanSink`](../../builder/interfaces/PlanSink.md).[`executeUpsert`](../../builder/interfaces/PlanSink.md#executeupsert)

***

### hasCollection()

```ts
abstract hasCollection(collection: string): Promise<boolean>;
```

Defined in: [batteries/vector/contract.ts:49](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L49)

#### Parameters

| Parameter    | Type     |
| ------------ | -------- |
| `collection` | `string` |

#### Returns

`Promise`<`boolean`>

#### Implementation of

[`SchemaExecutor`](../../schema/interfaces/SchemaExecutor.md).[`hasCollection`](../../schema/interfaces/SchemaExecutor.md#hascollection)

***

### isAvailable()

```ts
abstract isAvailable(): boolean;
```

Defined in: [batteries/vector/contract.ts:39](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L39)

#### Returns

`boolean`

***

### query()

```ts
query(collection: string): VectorQueryBuilder;
```

Defined in: [batteries/vector/contract.ts:68](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L68)

#### Parameters

| Parameter    | Type     |
| ------------ | -------- |
| `collection` | `string` |

#### Returns

[`VectorQueryBuilder`](../../builder/classes/VectorQueryBuilder.md)

***

### renameCollection()

```ts
abstract renameCollection(from: string, to: string): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:50](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L50)

#### Parameters

| Parameter | Type     |
| --------- | -------- |
| `from`    | `string` |
| `to`      | `string` |

#### Returns

`Promise`<`void`>

#### Implementation of

[`SchemaExecutor`](../../schema/interfaces/SchemaExecutor.md).[`renameCollection`](../../schema/interfaces/SchemaExecutor.md#renamecollection)

***

### transaction()

```ts
transaction(_fn: (tx: CallableVectorStore) => Promise<void>): Promise<void>;
```

Defined in: [batteries/vector/contract.ts:60](https://github.com/NHTIO/ADK/blob/v1.20260607.0/src/batteries/vector/contract.ts#L60)

#### Parameters

| Parameter | Type                                                                                           |
| --------- | ---------------------------------------------------------------------------------------------- |
| `_fn`     | (`tx`: [`CallableVectorStore`](../type-aliases/CallableVectorStore.md)) => `Promise`<`void`> |

#### Returns

`Promise`<`void`>
