<br />

Interface for vector storage and similarity search backends.

**Signature:**

```typescript
export declare interface VectorStore 
```

## Methods

| Method | Modifiers | Description |
|---|---|---|
| [upsert(records)](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoreupsert) |   | Inserts or updates records in the vector store. |
| [delete(ids)](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoredelete) |   | Deletes records matching the specified IDs. |
| [deleteByMetadata(metadataFilter)](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoredeletebymetadata) |   | Deletes records matching the specified metadata filter. |
| [search(queryEmbedding, topK, metadataFilter)](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoresearch) |   | Searches top-K nearest records to the query embedding. |
| [get(ids)](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoreget) |   | Retrieves records matching the specified IDs by key. |
| [getAllRecordIds()](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoregetallrecordids) |   | Retrieves all unique record identifiers. |
| [deleteAll()](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoredeleteall) |   | Deletes all records from the vector store. |
| [close()](https://developers.google.com/edge/api/mediapipe/js/tasks-retrieval.vectorstore.md.txt#vectorstoreclose) |   | Releases resources associated with the vector store. |

## VectorStore.upsert() {#vectorstoreupsert}

Inserts or updates records in the vector store.

**Signature:**

```typescript
upsert(records: readonly RetrievalRecord[]): Promise<void> | void;
```

### Parameters

| Parameter | Type | Description |
|---|---|---|
| records | readonly RetrievalRecord\[\] |   |

**Returns:**

Promise\<void\> \| void

## VectorStore.delete() {#vectorstoredelete}

Deletes records matching the specified IDs.

**Signature:**

```typescript
delete(ids: readonly string[]): Promise<void> | void;
```

### Parameters

| Parameter | Type | Description |
|---|---|---|
| ids | readonly string\[\] |   |

**Returns:**

Promise\<void\> \| void

## VectorStore.deleteByMetadata() {#vectorstoredeletebymetadata}

Deletes records matching the specified metadata filter.

**Signature:**

```typescript
deleteByMetadata(metadataFilter: Record<string, string>): Promise<void> | void;
```

### Parameters

| Parameter | Type | Description |
|---|---|---|
| metadataFilter | Record\<string, string\> |   |

**Returns:**

Promise\<void\> \| void

## VectorStore.search() {#vectorstoresearch}

Searches top-K nearest records to the query embedding.

**Signature:**

```typescript
search(queryEmbedding: Float32Array | readonly number[], topK: number, metadataFilter?: Record<string, string>): Promise<RetrievalRecord[]> | RetrievalRecord[];
```

### Parameters

| Parameter | Type | Description |
|---|---|---|
| queryEmbedding | Float32Array \| readonly number\[\] |   |
| topK | number |   |
| metadataFilter | Record\<string, string\> |   |

**Returns:**

Promise\<RetrievalRecord\[\]\> \| RetrievalRecord\[\]

## VectorStore.get() {#vectorstoreget}

Retrieves records matching the specified IDs by key.

**Signature:**

```typescript
get(ids: readonly string[]): Promise<RetrievalRecord[]> | RetrievalRecord[];
```

### Parameters

| Parameter | Type | Description |
|---|---|---|
| ids | readonly string\[\] |   |

**Returns:**

Promise\<RetrievalRecord\[\]\> \| RetrievalRecord\[\]

## VectorStore.getAllRecordIds() {#vectorstoregetallrecordids}

Retrieves all unique record identifiers.

**Signature:**

```typescript
getAllRecordIds(): Promise<string[]> | string[];
```

**Returns:**

Promise\<string\[\]\> \| string\[\]

## VectorStore.deleteAll() {#vectorstoredeleteall}

Deletes all records from the vector store.

**Signature:**

```typescript
deleteAll(): Promise<void> | void;
```

**Returns:**

Promise\<void\> \| void

## VectorStore.close() {#vectorstoreclose}

Releases resources associated with the vector store.

**Signature:**

```typescript
close(): void;
```

**Returns:**

void