Skip to main content
Jina AI provides a range of embedding models with strong multilingual support and competitive pricing. This guide shows you how to configure Meilisearch with Jina embeddings using the REST embedder.

Requirements

  • A Meilisearch project
  • A Jina AI account with an API key

Available models

ModelDimensionsNotes
jina-embeddings-v5-text-small1024Latest generation, balanced quality and speed
jina-embeddings-v5-text-nano768Smallest and fastest v5 model
jina-embeddings-v31024Previous generation, well-tested
jina-colbert-v2128Multi-vector model for fine-grained matching

Configure the embedder

Standard embedding models

Use this configuration for jina-embeddings-v5-text-small, jina-embeddings-v5-text-nano, or jina-embeddings-v3:
{
  "jina": {
    "source": "rest",
    "apiKey": "<JINA_API_KEY>",
    "dimensions": 1024,
    "documentTemplate": "A product named '{{doc.name}}': {{doc.description}}",
    "url": "https://api.jina.ai/v1/embeddings",
    "request": {
      "model": "jina-embeddings-v5-text-small",
      "input": ["{{text}}", "{{..}}"]
    },
    "response": {
      "data": [
        { "embedding": "{{embedding}}" },
        "{{..}}"
      ]
    }
  }
}
Adjust model and dimensions to match the model you choose (1024 for v5-text-small and v3, 768 for v5-text-nano).

ColBERT multi-vector model

jina-colbert-v2 uses a different API endpoint and response format:
{
  "jina-colbert": {
    "source": "rest",
    "apiKey": "<JINA_API_KEY>",
    "dimensions": 128,
    "documentTemplate": "A product named '{{doc.name}}': {{doc.description}}",
    "url": "https://api.jina.ai/v1/multi-vector",
    "request": {
      "model": "jina-colbert-v2",
      "input_type": "document",
      "embedding_type": "float",
      "input": ["{{text}}", "{{..}}"]
    },
    "response": {
      "data": [
        { "embeddings": ["{{embedding}}"] },
        "{{..}}"
      ]
    }
  }
}

Send the configuration

curl \
  -X PATCH 'MEILISEARCH_URL/indexes/INDEX_NAME/settings' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer MEILISEARCH_KEY' \
  --data-binary '{
    "embedders": {
      "jina": {
        "source": "rest",
        "apiKey": "<JINA_API_KEY>",
        "dimensions": 1024,
        "documentTemplate": "A product named '\''{{doc.name}}'\'': {{doc.description}}",
        "url": "https://api.jina.ai/v1/embeddings",
        "request": {
          "model": "jina-embeddings-v5-text-small",
          "input": ["{{text}}", "{{..}}"]
        },
        "response": {
          "data": [
            { "embedding": "{{embedding}}" },
            "{{..}}"
          ]
        }
      }
    }
  }'
Replace <JINA_API_KEY> with your actual Jina API key. Meilisearch handles batching and rate limiting automatically. Monitor the tasks queue to track indexing progress.
{
  "q": "comfortable shoes for walking",
  "hybrid": {
    "semanticRatio": 0.5,
    "embedder": "jina"
  }
}

Next steps