> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lambdadb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Vector query

> Run k-nearest-neighbor vector search in LambdaDB. Specify query vectors or query text, set k, apply pre-filters, and combine multi-field vector queries.

A vector query finds the k nearest vectors to a query vector or query text, as measured by a similarity metric.

## Parameters

| Parameter   | Description                                         | Type     | Required               |
| :---------- | :-------------------------------------------------- | :------- | :--------------------- |
| field       | The name of the vector field to search against      | string   | ✓                      |
| queryVector | Query vector for unmanaged vector fields            | float\[] | Conditionally required |
| queryText   | Query text for managed embedding vector fields      | string   | Conditionally required |
| k           | Number of nearest neighbors to return as top `docs` | integer  | ✓                      |
| filter      | Query to filter the documents that can match        | object   |                        |

Provide exactly one of `queryVector` or `queryText`.

## Examples

### Simple vector query

```json theme={null}
{
  "knn": {
    "field": "example_vector_field",
    "queryVector": [
        0.030255454,
        -0.058824085,
        -0.065448694,
        -0.03987034,
        0.060786933,
        -0.15469691,
        -0.043918714,
        0.057719983,
        0.054530356,
        0.007080819
    ],
    "k": 5
  }
}
```

### Managed embedding vector query

Use `queryText` when the target field is a managed embedding vector field.

Supported providers and models are listed in [Managed embeddings](/guides/collections/managed-embeddings).

```json theme={null}
{
  "knn": {
    "field": "bodyEmbedding",
    "queryText": "refund policy",
    "k": 5
  }
}
```

### Multi-field vector query

You can search across multiple vector fields simultaneously by wrapping multiple kNN objects in a boolean query.
This is useful when you have different types of embeddings (e.g., text embedding and image embedding) and want to combine their results.

```json theme={null}
{
  "bool": [
      {
        "knn": {
          "field": "text_embedding",
          "queryVector": [
            0.030255454,
            -0.058824085,
            -0.065448694,
            -0.03987034,
            0.060786933,
            -0.15469691,
            -0.043918714,
            0.057719983,
            0.054530356,
            0.007080819
          ],
          "k": 10
        }
      },
      {
        "knn": {
          "field": "image_embedding", 
          "queryVector": [
            0.125434521,
            -0.087654321,
            0.045123789,
            -0.156789012,
            0.098765432,
            0.034567890,
            -0.123456789,
            0.076543210,
            -0.089012345,
            0.112345678
          ],
          "k": 10
        }
      }
  ]
}
```

### Vector query with filter query

An example vector query with a filter for better performance and relevance:

```json theme={null}
{
  "knn": {
    "filter" : {
      "queryString": {
          "query": "node_type:NODE AND \"https://example.com/books/5514276\"",
          "defaultField": "metadata.url"
      }
    },
    "field": "example_vector_field",
    "queryVector": [
        0.030255454,
        -0.058824085,
        -0.065448694,
        -0.03987034,
        0.060786933,
        -0.15469691,
        -0.043918714,
        0.057719983,
        0.054530356,
        0.007080819
    ],
    "k": 5
  }
}
```

<Note>
  For managed embedding vector fields, `queryVector` is not supported. Query the field with `knn.queryText`, and let LambdaDB generate the query embedding with the field's configured embedding model.
</Note>
