Einführungsrichtlinie für Site-Suche mit Pagefind
Entscheidung
- Pagefind wird als siteweite Suchmaschine eingeführt.
- Suchrouten werden unter
/searchund/{lang}/searchbereitgestellt; sprachspezifische Indizes werden überhtml[lang]gewählt. - Pagefind-Indexing wird in der Build-Pipeline direkt nach
astro buildverpflichtend. - Die Suchnavigation im Header verweist immer auf die Suchseite der aktuellen Locale.
Kontext
Die Website ist vollständig statisch und soll Volltextsuche ohne zusätzliche serverseitige Suchinfrastruktur anbieten. Da bereits mehrsprachige URLs (ja/en/ko/fr/de/pt) bereitgestellt werden, soll auch das Suchverhalten sprachspezifisch bleiben.
Optionen
- Option A: Einen extern gehosteten Suchdienst verwenden
- Option B: Eine eigene Such-API implementieren und betreiben
- Option C: Pagefind mit statischer Indizierung einführen (gewählt)
Begründung
- Pagefind läuft nach der statischen HTML-Generierung und passt zum Astro-Workflow.
- Sprachabhängige Indexauswahl über
html[lang]ist ohne Zusatzaufwand verfügbar. - Clientseitige Suche reduziert Betriebsaufwand und vermeidet zusätzliche Infrastrukturabhängigkeiten.
Konsequenzen
- Produktions-Builds müssen
dist/pagefind/erzeugen. - Für die initiale UI wird
@pagefind/default-uieingesetzt; ein späterer Wechsel zu einer eigenen UI bleibt möglich. - Weitere Relevanzoptimierung (Exclude-Selektoren, Gewichtung, Metadatenanreicherung) erfolgt nach Beobachtung realer Suchnutzung.
hsb.horse