Statische Seitensuche für Astro
Letzten Monat habe ich drei KI-Verzeichnis-Seiten um eine Suchfunktion ergänzt.
Bevor ich mich für Pagefind entschied, habe ich vier Hauptoptionen verglichen. Hier ist der Grund, warum ich mich dafür entschieden habe.
Die Kandidaten
• Pagefind: Eine auf Rust basierende Bibliothek. Sie läuft während der Build-Zeit und liefert alles als statische Dateien aus. • Algolia DocSearch: Ein gehosteter Service. Er ist schnell und ausgereift, kostet aber bei kommerziellen Seiten Geld. • Lunr.js: Eine clientseitige Bibliothek. Sie funktioniert offline, macht aber den initialen Seitenaufruf schwerfällig. • FlexSearch: Eine schnellere Alternative zu Lunr, erfordert aber dennoch, dass der gesamte Index an den Browser übertragen wird.
Warum ich mich für Pagefind entschieden habe
Indexgröße Meine Seiten haben 1.000 Einträge. Ein Lunr-Index würde bei jedem Seitenaufruf 4 MB zusätzlich belasten. Pagefind nutzt Shards. Es lädt kleine Fragmente, während der Nutzer tippt. Der initiale Aufruf bleibt unter 30 KB.
Kosten Algolia kostet 49 $ pro Monat für kommerzielle Seiten. Mein Gesamtbudget für alle drei Seiten beträgt 25 $ pro Monat. Pagefind ist kostenlos.
Deployment Pagefind erstellt statische Dateien. Cloudflare Pages cached diese automatisch am Edge. Sie müssen keine API-Keys verwalten oder sich um Rate Limits sorgen.
Die Kompromisse
Pagefind ist nicht perfekt. Sie sollten diese zwei Schwachstellen kennen:
• Kein Query-Logging: Pagefind läuft im Browser. Es verrät Ihnen nicht, wonach Nutzer suchen. Algolia erledigt dies automatisch. Bei Pagefind müssen Sie Ihre eigene Logging-Schicht bauen. • Einfache Fehlertoleranz: Pagefind nutzt einfaches Stemming. Bei großen Tippfehlern stößt es an seine Grenzen. Algolia geht wesentlich besser mit Tippfehlern um.
Zusammenfassung des Vergleichs
• Pagefind: Kostenlos, nutzt statische Dateien, skaliert gut durch Lazy Loading, einfache Fehlertoleranz. • Algolia: 49 $/Monat, nutzt Cloud-Infrastruktur, skaliert gut, starke Fehlertoleranz. • Lunr.js: Kostenlos, liefert Index mit der Seite aus, schlechte Skalierbarkeit, schwache Fehlertoleranz.
Mein Fazit
Wenn Sie eine statische Seite mit kleinem Budget und 500 bis 1.000 Einträgen betreiben, nutzen Sie Pagefind. Wenn Sie fortgeschrittene Analysen und perfekte Fehlertoleranz benötigen, bezahlen Sie für Algolia.
