Use when operating Prism hybrid search engine. Covers API usage, configuration, storage backends, encryption, backup, migration, monitoring, clustering, and troubleshooting production deployments.
Production guide for operating Prism - a hybrid search engine combining full-text (BM25) and vector search (HNSW) for AI/RAG applications.
| Binary | Purpose |
|---|---|
prism-server | HTTP API server (main process) |
prism-cli | Collection management, backup, benchmarks |
prism-import | Migrate from Elasticsearch |
# Start with config
prism-server -c /etc/prism/prism.toml
# Override bind address
prism-server -c prism.toml --host 0.0.0.0 -p 3080
# Debug mode
RUST_LOG=debug prism-server
# JSON logging (production)
LOG_FORMAT=json prism-server
Signals:
SIGTERM / SIGINT: Graceful shutdownSIGHUP: Reload configuration (encryption keys, etc.)Health check:
curl http://localhost:3080/health
# {"status": "ok"}
[server]
bind_addr = "127.0.0.1:3080"
[storage]
data_dir = "/var/lib/prism"
[server]
bind_addr = "0.0.0.0:3080"
[server.tls]
enabled = true
bind_addr = "0.0.0.0:3443"
cert_path = "/etc/prism/cert.pem"
key_path = "/etc/prism/key.pem"
[server.cors]
enabled = true
origins = ["https://app.example.com"]
[storage]
data_dir = "/var/lib/prism"
[observability]
log_format = "json"
log_level = "info"
metrics_enabled = true
[security]
enabled = true
[[security.api_keys]]
key = "${PRISM_ADMIN_KEY}"
name = "admin"
roles = ["admin"]
[[security.api_keys]]
key = "${PRISM_APP_KEY}"
name = "app"
roles = ["reader"]
[security.roles.admin.collections]
"*" = ["read", "write", "delete", "admin"]
[security.roles.reader.collections]
"*" = ["read"]
[security.audit]
enabled = true
Schemas are YAML files in <data_dir>/schemas/. Server loads them on startup.
# /var/lib/prism/schemas/articles.yaml