This guide explains how to use the vector search capabilities in the Meilisearch MCP server. Vector search allows for semantic similarity matching, enabling more sophisticated search experiences.
Vector search in Meilisearch enables:
- Semantic search based on the meaning of content
- Similar document recommendations
- Hybrid search combining keyword and semantic results
- Multi-modal search experiences
Vector search is an experimental feature in Meilisearch. Before using it, you must enable it:
# Enable vector search experimental feature
enable-vector-search
First, configure an embedder for your index:
# Example: Configure OpenAI embedder
update-embedders {
"indexUid": "my-index",
"embedders": {
"openai-embedder": {
"source": "openAi",
"model": "text-embedding-3-small",
"dimensions": 1536
}
}
}
Common embedder sources include:
openAi- OpenAI embeddingshuggingFace- HuggingFace modelsollama- Ollama local modelsrest- Custom REST API endpointuserProvided- Pre-computed embeddings
You can add documents with pre-computed vectors:
# Add documents with vector embeddings
add-documents {
"indexUid": "my-index",
"documents": [
{
"id": "1",
"title": "Vector search guide",
"content": "This is about vector search...",
"_vectors": {
"openai-embedder": [0.123, 0.456, ...]
}
}
]
}
Alternatively, if you've configured an embedder, Meilisearch can generate the embeddings automatically from your text fields.
If you have a vector representation of your query:
# Vector search
search {
"indexUid": "my-index",
"vector": [0.123, 0.456, ...],
"limit": 10
}
Combine traditional keyword search with vector search:
# Hybrid search
search {
"indexUid": "my-index",
"q": "machine learning techniques",
"vector": [0.123, 0.456, ...],
"hybridEmbedder": "openai-embedder",
"hybridSemanticRatio": 0.7
}
The hybridSemanticRatio controls the balance between semantic (vector) and lexical (keyword) search:
- 0.0: Only keyword search
- 1.0: Only vector search
- 0.5: Equal weight to both
Find documents similar to an existing document:
# Similar documents search
similar-documents {
"indexUid": "my-index",
"id": "doc123",
"embedder": "openai-embedder",
"limit": 5
}
Perform vector searches across multiple indexes:
# Multi-index vector search
multi-search {
"queries": [
{
"indexUid": "products",
"vector": [0.1, 0.2, ...],
"hybridEmbedder": "openai-embedder",
"limit": 5
},
{
"indexUid": "articles",
"vector": [0.1, 0.2, ...],
"hybridEmbedder": "openai-embedder",
"limit": 5
}
],
"federation": {
"limit": 10
}
}
-
Choose the right embedder: Different models have different strengths and capabilities.
-
Experiment with hybrid ratios: The ideal balance between vector and keyword search depends on your content and use case.
-
Pre-compute embeddings when possible to improve indexing performance.
-
Use filters with vector search to constrain results to relevant subsets.
-
Consider reranking for critical applications to improve result quality.
- Semantic code search: Find code examples by describing functionality
- Similar product recommendations: "Show me products like this one"
- Research document similarity: Find related academic papers or reports
- Natural language queries: Search for concepts rather than exact keywords
- Content discovery: Find content with similar themes or topics
- Vector search is an experimental feature and may change in future Meilisearch releases
- Vector search performs best with larger datasets where semantic similarity matters
- Compute requirements increase with vector dimensions and dataset size