Suche gefunden: Text-Suche ohne Overengineering
Friday, June 26 at 10:00–10:50
-
Stefan Keller is Full Professor and Head of the Institute for Software at the OST Campus Rapperswil, as well as member of the program committee of the Swiss PGDay.
Man sieht immer wieder Systemarchitekturen für die Volltextsuche, bei denen PostgreSQL als primäre Datenbank durch Elasticsearch oder Solr ergänzt wird. Dies ist jedoch mit zusätzlichem Betriebsaufwand für die Datensynchronisation und die Infrastruktur verbunden. Die vergleichsweise neue PostgreSQL-Erweiterung pg_search ermöglicht jedoch eine BM25-basierte Relevanzsuche direkt im Datenbanksystem, wodurch für zahlreiche Anwendungsfälle ein separater Suchindex obsolet wird.
Dieser Talk erläutert das Rankingmodell BM25, das die algorithmische Grundlage von Suchsystemen bildet, und zeigt die native Implementierung der bewährten Lucene-Bibliothek in pg_search von PostgreSQL. Darüber hinaus wird demonstriert, wie sich die lexikalische Treffsicherheit von pg_search mit der semantischen Ähnlichkeitssuche von pgvector zu einer hybriden Suchlösung kombinieren lässt.
Takeaways:
- Architektur-Shift: Warum externe Tools wie Elasticsearch oder Solr für einige Anwendungsfälle nicht mehr zwingend erforderlich sind.
- Grundlagen: Einführung in das Lucene-Ökosystem und das BM25-Rankingverfahren.
- Hybrid Search: Kombination lexikalischer Treffsicherheit mit semantischer Vektorsuche mittels pg_search und pgvector