Suchmaschine: Erweiterte Tippfehler-Toleranz in Typesense 27

Typesense, eine schnelle, tippfehlertolerante Suchmaschine, bietet mit Version 27 neue Funktionen wie sum_score und erweiterte Synonym-Unterstützung.

In Pocket speichern vorlesen Druckansicht
Close,Up,Of,Search,Button.,Concept,Of,Popularity,Of,Search

(Bild: Karramba Production/Shutterstock.com)

Lesezeit: 4 Min.
Inhaltsverzeichnis

Für die quelloffene Suchmaschine Typesense liegt mit Version 27 ein neues Release vor. Das Update bringt eine neue sum_score-Text-Match-Funktion, erweiterte Einstellungen für die Tippfehler-Toleranz für alphanumerische Wörter – Wörter, die sowohl Zahlen als auch Buchstaben enthalten –, überarbeitete Unterstützung für Synonyme, anpassbare Faceting-Strategien sowie zahlreiche neue Suchparameter und API-Erweiterungen.

Zu den Highlights von Version 27 gehört ein neuer text_match_type-Modus namens sum_score. Dieser summiert die Textübereinstimmungsbewertungen auf Feldebene, um eine Gesamtbewertung auf Dokumentebene zu erhalten. Das ist laut Release Notes gerade dann nützlich, wenn Nutzerinnen und Nutzer Dokumente mit mehreren Übereinstimmungen in gewichteten Feldern als relevanter einstufen wollen.

Darüber hinaus hält Version 27 der Suchmaschine eine Erweiterung der Tippfehler-Toleranz bereit. Sie lässt sich in der Suchanfrage über den Parameter enable_typos_for_alpha_numerical_tokens ein- oder ausschalten, wobei der Standardwert auf true gesetzt ist. Möchte man beispielsweise die Tippfehler-Toleranz für ein Wort wie "turbo100" deaktivieren, lässt sich der genannte Parameter über die Suchanfrage auf false setzen.

Die Demo aus dem GitHub-Repository zeigt die Tippfehler-Toleranz der quelloffenen Suchmaschine Typesense.

(Bild: GitHub.com/typesense)

Der Verlauf von Konversationssuchen wird nun als reguläre Typesense-Sammlung gespeichert, was sowohl neue Möglichkeiten als auch Änderungen in der bisherigen Verhaltensweise mit sich bringt.

Die Unterstützung von Synonymen wurde optimiert, indem sie auch bei Abfragepräfixen und tippfehlerkorrigierten Abfragen berücksichtigt werden können. Das erlauben die neuen Parameter synonym_prefix und synonym_num_typos.

Darüber hinaus lässt sich ab sofort die Faceting-Strategie über den Parameter facet_strategy explizit festlegen. Unter der Faceting-Strategie versteht sich die Methode, mit der Suchmaschinen wie Typesense bestimmte Daten in Kategorien oder "Facetten" unterteilen und die Ergebnisse anhand dieser Kategorien organisieren. Faceting ist eine Technik, die es Nutzerinnen und Nutzern ermöglicht, Suchergebnisse zu filtern und zu verfeinern, indem sie verschiedene Aspekte oder Eigenschaften der Daten anzeigen und auswählen. Die Neuerung erlaubt eine detailliertere Kontrolle darüber, wie Typesense Facetten berechnet und anzeigt.

Zudem wurde die Unterstützung für verschachtelte Referenzsammlungen bei JOINS erweitert, was neue Varianten bei der Abfrageverknüpfung und Sortierung bei komplexen Datenstrukturen bietet.

Neben den genannten Funktionsweisen implementiert das Update zahlreiche Optimierungen. Dazu gehören neue Suchparameter wie enable_synonyms, filter_curated_hits und enable_analytics, die zusätzliche Anpassungsmöglichkeiten bieten. Auf der Server-Seite wurden Flags wie --filter-by-max-ops und --max-per-page hinzugefügt, und die Option, die Cache-Größe dynamisch zu aktualisieren, soll die Flexibilität erhöhen.

Auch die KI-Suche wurde überarbeitet: Es gibt nun Unterstützung für API-Schlüssel bei vLLM-Konversationsmodellen und eine Unterdrückung von Satzzeichen und nicht-sprachlichen Tokens in der Sprachsuche. Erweiterte API-Endpunkte erlauben eine feinere Steuerung von Suchabfragen und die Berücksichtigung von Feldern.

Typesense wird als schnelle und tippfehlertolerante Suchmaschine beschrieben, die offenbar speziell entwickelt wurde, um ansprechende Sucherlebnisse zu schaffen. Das GitHub-Repository preist sie als Open-Source-Alternative zur gehosteten Such- und Entdeckungs-API Algolia sowie als eine benutzerfreundlichere Alternative zur Suchmaschine Elasticsearch an. Nutzerinnen und Nutzer sollen ohne großen Aufwand das Einrichten, Integrieren sowie Skalieren von Typesense vornehmen können.

Die Architektur der Suchmaschine ist in der Programmiersprache C++ geschrieben, was sich offenbar positiv auf die Ausgabe von Suchergebnissen auswirkt – Typesense liefert laut Repository Suchergebnisse mit einer Latenz von unter 50 Millisekunden. Es unterstützt unter anderem Funktionen wie anpassbares Ranking, Sortierung, Faceting, Geo-Suche, semantische Suche und Bildsuche.

Nähere Informationen zu Version 27 der Suchmaschine Typesense bieten die Release Notes auf GitHub.

(mdo)