Practical overview
When it fits
Use Mettis when you want to prototype or study a self-hosted search backend and can operate a separate embedding service alongside the Go database.
Who it is for
- Developers building a self-hosted document retrieval backend.
- Engineers exploring or adapting a Go search database with both keyword and vector retrieval.
Documented uses
- Index text documents through an HTTP endpoint.
- Search indexed content using full-text and semantic retrieval.
- Combine keyword and vector result rankings.
- Explore a Raft-based replicated search setup.
Requirements & limits
- The embedding service is a separate Python HTTP component and must be addressed through the
EmbeddingHostenvironment variable. - The README explicitly describes the project as not production-ready.
- The repository metadata identifies the project as public but provides no license.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Start a single-node Mettis instance
Configure the documented Python embedding service and start one database node.
Before you start
- The project repository and its third_party embedding-service files
- Python with pip and the Go toolchain
- An address for the embedding service
Steps
Install the embedding-service dependencies with the command below from the third_party folder.
pip install -r requirements.txtStart the embedding service with
uvicorn main:app.Set
EmbeddingHostto the service endpoint, such ashttp://127.0.0.1:8000/embeddings.Start one database node with the command below.
go run cmd/server/main.go -httpAddr 127.0.0.1:8111 -nodeId 0 -raftAddr 127.0.0.1:9000
Expected outcome
A single Mettis node is configured to use the embedding service; the README documents HTTP endpoints for indexing and searching.
Guide limitations
- The README says the project is not production-ready.
- This setup guide does not establish successful execution or production suitability.
Index and search a document through the HTTP API
Use the documented endpoints to submit a text document and a search query.
Before you start
- A running Mettis node configured with its embedding service
- An HTTP client such as curl
Steps
Send a JSON document containing a
textfield toPOST /index.Send a JSON query containing a
queryfield toGET /search.
Expected outcome
The README provides request examples for indexing text and searching the database.
Guide limitations
- The examples do not document response formats or query options.
- The README says the project is not production-ready.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- farouqzaib/mettis · Official homepage title · retained in its source language

