Link Search Menu Expand Document Documentation Menu

You're viewing version 2.12 of the OpenSearch documentation. This version is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.

Neural query

Use the neural query for vector field search in neural search.

Request fields

Include the following request fields in the neural query:

"neural": {
  "<vector_field>": {
    "query_text": "<query_text>",
    "query_image": "<image_binary>",
    "model_id": "<model_id>",
    "k": 100
  }
}

The top-level vector_field specifies the vector field against which to run a search query. The following table lists the other neural query fields.

Field Data type Required/Optional Description
query_text String Optional The query text from which to generate vector embeddings. You must specify at least one query_text or query_image.
query_image String Optional A base-64 encoded string that corresponds to the query image from which to generate vector embeddings. You must specify at least one query_text or query_image.
model_id String Required if the default model ID is not set. For more information, see Setting a default model on an index or field. The ID of the model that will be used to generate vector embeddings from the query text. The model must be deployed in OpenSearch before it can be used in neural search. For more information, see Using custom models within OpenSearch and Neural search.
k Integer Optional The number of results returned by the k-NN search. Default is 10.
filter Object Optional A query that can be used to reduce the number of documents considered. For more information about filter usage, see k-NN search with filters. Important: Filter can only be used with the faiss or lucene engines.

Example request

GET /my-nlp-index/_search
{
  "query": {
    "neural": {
      "passage_embedding": {
        "query_text": "Hi world",
        "query_image": "iVBORw0KGgoAAAAN...",
        "k": 100,
        "filter": {
          "bool": {
            "must": [
              {
                "range": {
                  "rating": {
                    "gte": 8,
                    "lte": 10
                  }
                }
              },
              {
                "term": {
                  "parking": "true"
                }
              }
            ]
          }
        }
      }
    }
  }
}

350 characters left

Have a question? .

Want to contribute? or .