---
title: "Semantische Suche aktivieren"
description: "Optionale Vektorsuche: schwergewichtiger nativer Stack, der Schalter VECTOR_SEARCH, Modellstufen und der Rückfall auf die Volltextsuche ohne Ausfall."
---

# Semantische Suche aktivieren

Die Volltextsuche (FTS) in Notarium funktioniert **immer und ohne Einrichtung**. Die semantische Suche (Vektorsuche) ist eine optionale Fähigkeit: Sie ergänzt eine hybride Rangfolge nach Bedeutung, zieht dafür aber einen schwergewichtigen nativen Stack nach sich (`onnxruntime` + `sqlite-vec`, ~660 MB auf der Festplatte) sowie ein lokales Embedding-Modell, das beim ersten Aktivieren heruntergeladen wird (~600 MB auf der Festplatte und einige Hundert MB RAM). Deshalb ist sie standardmäßig aus und wird bewusst eingeschaltet. Wie die Suche im Inneren funktioniert, steht unter [Konzepte: Suche](/docs/concepts/search/).

## Zwei unabhängige Schalter

Es hilft, zwei Ebenen auseinanderzuhalten — Installation und Laufzeit:

1. **Installation** — ob der native Vektor-Stack in `node_modules` vorhanden ist. **Das Docker-Image bringt ihn immer mit**, deshalb erfordert das Aktivieren im Container kein erneutes Bauen des Images. Beim Betrieb aus dem Quellcode installiert das standardmäßige `make deps` ihn **nicht** (ein lokales `node_modules` ist so ~660 MB schlanker) — für lokale Vektorarbeit brauchst du `make deps-vector`.
2. **Laufzeit** — die Variable `VECTOR_SEARCH`. Im veröffentlichten Image steht sie standardmäßig auf `off`.

Für die semantische Suche in Docker genügt es, den Laufzeit-Schalter umzulegen — der Stack ist bereits vorhanden.

## Aktivieren

```bash
docker run -d --name notarium \
  -p 3000:3000 \
  -v notarium-data:/data \
  -e VECTOR_SEARCH=on \
  docouno/notarium:latest
```

(Ein einziges `/data`-Volume hält den gesamten Zustand — die Metadaten-Datenbank, die Indizes, deine Notizen, die Export-Artefakte; dasselbe wie bei einem einfachen Start, siehe [Installation](/docs/self-hosting/install/). Hier kommt lediglich `VECTOR_SEARCH=on` hinzu.)

Beim ersten Aktivieren wird das Standardmodell (bge-m3) heruntergeladen (~600 MB auf der Festplatte) und belegt einige Hundert MB RAM. Die Indexierung läuft im Hintergrund: Die Volltextsuche ist sofort verfügbar, während die Vektoren aufholen.

## Modellstufen

Das Modell wird über das Paar `EMBED_MODEL` + `EMBED_DIMENSIONS` gewählt (die Dimensionalität **muss** zum Modell passen) — es ist eine Laufzeit-Einstellung auf ein und demselben Image, kein separater Build:

| Stufe | Variablen | RAM | Wann |
|---|---|---|---|
| **off** | `VECTOR_SEARCH=off` | 0 | Eine schwache Maschine, oder die Stichwortsuche reicht aus. Der Standard des Images. |
| **compact** | `VECTOR_SEARCH=on`, `EMBED_MODEL=Xenova/multilingual-e5-small`, `EMBED_DIMENSIONS=384` | ~120 MB | Homelab, ein kleiner VPS. |
| **full** | `VECTOR_SEARCH=on` (Standard: bge-m3, 1024) | ~600 MB | Eine leistungsstarke Maschine; 100+ Sprachen, langer Kontext. |

> [!warning] Asymmetrische e5-Modelle
> Die Stufe compact (e5) benötigt die Präfixe `EMBED_QUERY_PREFIX="query: "` und `EMBED_PASSAGE_PREFIX="passage: "` — vergisst du sie, verschlechtert sich die Suchqualität stillschweigend. Beim symmetrischen bge-m3 gilt das Gegenteil: Die Präfixe solltest du **gar nicht** setzen.

## Ressourcen auf einer knappen Maschine

Auf einem Host ohne Swap und mit ~6 GB RAM kann die erste bge-m3-Indexierung an die Speichergrenze stoßen. Zwei Hebel: Nimm die Stufe compact (e5-small) oder setze `EMBED_CPU_MEM_ARENA=off` — das hält den Verbrauch bei ~1,9 GB, um den Preis einer leichten Verlangsamung. Die vollständige Liste der Embedding-Parameter findest du in der [Referenz](/docs/reference/environment-variables/).

## Rückfall auf die Volltextsuche

Wenn `VECTOR_SEARCH=off` ist oder der native Stack aus irgendeinem Grund nicht lädt, **arbeitet die Suche weiterhin über den Volltext** — ohne Fehler, und die Ergebnisse sehen gleich aus. Die semantische Suche ist ein zusätzlicher Rangfolge-Kanal über der stets aktiven FTS, keine harte Abhängigkeit. Eine Instanz ohne Vektoren ist eine voll funktionsfähige Instanz.
