So fügen Sie Ihrer Website eine Volltextsuche hinzu

Viele Arten von Websites erfordern eine effiziente und genaue Suche.

Dieser Artikel beschreibt Server- und clientseitige Alternativen und zeigt, wie eine Suche implementiert wird, die offline funktioniert.

tl; dr

Es gibt viele Möglichkeiten, eine Suche durchzuführen:

  • Über eine Backend-Suchmaschine wie Elasticsearch oder Solr.
  • Kommerzielle Suchdienste wie Algolia und AWS Cloudsearch.
  • Verwenden einer Datenbank mit integrierter Suche wie MySQL oder MongoDB.
  • Anwendungsplattformen und Datenbankdienste mit zusätzlichen Suchfunktionen wie Firebase und Cloudant.
  • Clientseitige JavaScript-Suchbibliotheken wie FlexSearch und Elasticlunr.
  • Clientseitige JavaScript-Bibliotheken, die Daten mit einer Backend-Datenbank synchronisieren: PouchDB zum Beispiel.
  • Google Custom Search Engine.

Alle in diesem Artikel behandelten Suchmaschinen, Datenbanken und verwalteten Dienste sind über mehrere Plattformen, Frameworks und Sprachen hinweg integriert - nicht nur für das Web. Unabhängig von Ihrer Zielplattform gibt es mehrere wichtige Überlegungen bei der Auswahl einer Lösung:

  • Wie oft aktualisieren Sie Ihre Daten? Wenn die Aktualisierungen kontinuierlich sind und die Suchergebnisse unbedingt auf dem neuesten Stand gehalten werden müssen, müssen Sie wahrscheinlich eine serverseitige Option verwenden.
  • Müssen Sie nach Inhalten, Daten, Metadaten suchen - oder nach allen drei? Suchmaschinen können Inhalte und Metadaten aus Binärdateien wie PDF- und Word-Dokumenten indizieren oder auf Daten und Inhalte aus Datenbanken zugreifen oder Metadaten wie EXIF ​​aus Bildern extrahieren. JavaScript-Suchbibliotheken benötigen JSON.
  • Was suchst du, in welchem ​​Kontext? Die Protokollanalyse zum Beispiel unterscheidet sich stark von der Suche nach Konsumgütern oder einem professionellen Suchdienst für eine große Sammlung unstrukturierter Daten, z. B. ein historisches Archiv.
  • Wie viele Daten müssen Sie durchsuchen? Wenn Sie alle Ihre Daten lokal auf dem Client zwischenspeichern können (beispielsweise weniger als 20 MB), können Sie eine clientseitige Suche in Betracht ziehen.
  • Möchten Sie, dass die Suche offline funktioniert? Vielleicht nur für einen Teil der Funktionalität Ihrer Website, z. B. einen Filialfinder oder den Kundenkontoverlauf? Die Offline-Suche kann durch Zwischenspeichern von Indexdaten auf dem Client aktiviert werden (Demo hier).

Dies ist nur eine Übersicht über einige der Probleme. Vor- und Nachteile für jede Option werden im Folgenden näher erläutert.

Was ist die Volltextsuche?

Für eine kleine Menge einfacher Textdaten ist es möglich, grundlegende Suchfunktionen über einen einfachen String-Abgleich bereitzustellen. Mithilfe von JavaScript können Sie beispielsweise Produktdaten für einen kleinen Online-Shop als eine Reihe von Objekten in einer JSON-Datei speichern, dann die Datei abrufen und über jedes Objekt iterieren, um Übereinstimmungen zu finden.

Dieser vereinfachte Ansatz kann besser als nichts sein, aber eine erfolgreiche Suche erfordert flexiblere Funktionen, um relevante Ergebnisse zu finden:

  • Stemming: Entwicklung für mobile Spiele Ergebnisse für Entwicklung für mobile Spiele und umgekehrt.
  • Stopword Handing: Suchmaschinen müssen irrelevante Ergebnisse vermeiden, die durch Übereinstimmungen mit gebräuchlichen Wörtern wie a und a verursacht werden. (Umgekehrt kann das Ignorieren von Stoppwörtern auch zu Problemen bei Fragen wie Wer oder Sein oder Nichtsein führen.)
  • Grundlegender Fuzzy-Abgleich: Servicemitarbeiter stimmen mit den Ergebnissen für Servicemitarbeiter überein.
In der Praxis funktionieren einige dieser Funktionen möglicherweise nicht so gut wie erwartet, insbesondere bei mehrsprachigen Implementierungen oder bei strukturierten Daten mit kürzerer Länge. Einige Suchmaschinenentwickler haben sich dafür ausgesprochen, Alternativen zu bevorzugen.

Hochwertige Suchimplementierungen bieten zusätzliche Funktionen auf der Eingabeseite:

  • Autocomplete: Wenn Sie progre eingeben, werden Vorschläge aufgerufen, einschließlich Progressive Web App.
  • Rechtschreibprüfung und Autosuggest: Die Eingabe von Porgessive Web Apps schlägt progressive Web Apps vor oder führt die Suche automatisch durch. Die Rechtschreibprüfung funktioniert besser als die Fuzzy-Suche, was zu irrelevanten Ergebnissen führen kann. Auf E-Commerce-Websites kann Autosuggest auch für das Merchandising verwendet werden: um Produkte vorzuschlagen, die dem Kunden möglicherweise nicht bekannt sind.
  • Synonym-Suche: PWA sollte mit den Ergebnissen für Progressive Web Apps übereinstimmen und umgekehrt. Dies ist für die Produktsuche von entscheidender Bedeutung, bei der häufig unterschiedliche Wörter verwendet werden: Schuhe oder Schuhe, Gummistiefel oder Gummistiefel oder Gummistiefel.
  • Letzte Suchanfragen: Ein Großteil der Suchanfragen besteht aus wiederholten Suchanfragen: Menschen suchen häufig nach demselben Objekt, auch während derselben Sitzung. Möglicherweise möchten Sie Vorschläge für die jüngste Suche bereitstellen und möglicherweise Elemente für die jüngsten Suchvorgänge, z. B. Bilder oder Produktdaten, zwischenspeichern.
  • Phrasenübereinstimmung: Wie viel Abstand darf zwischen Wörtern in einer Suchphrase sein? Soll eine Suche nach Supermond beispielsweise mit Beschreibungen übereinstimmen, die die Wörter super und moon enthalten, aber nicht den genauen Ausdruck super moon?
  • Bereichs- und Facettensuche: Stellen Sie dem Benutzer Benutzeroberflächen-Steuerelemente wie Kontrollkästchen und Schieberegler zur Verfügung, um den Bereich potenzieller Suchergebnisse einzugrenzen. Suchen Sie beispielsweise nur innerhalb eines Produkttyps oder einer Marke oder suchen Sie nach gesteppten Mänteln für einen großen Hund, der zum Verkauf angeboten wird und einen Preis von weniger als 50,00 USD hat. Eine solche Funktionalität kombiniert die Volltextsuche (Produkte, die mit gesteppten Mänteln übereinstimmen) mit Einschränkungen für Metadaten (weniger als 50 USD).
  • Suchausdrücke: Aktivieren Sie die Suche, um AND, OR, NOT und andere Operatoren wie Anführungszeichen um exakte Phrasen zu verwenden. Zum Beispiel: Grizzly-Bären liefern Streichhölzer für Grizzly-Bären, aber nicht für Grizzly-Bären. grizzly AND bears gibt nur Ergebnisse zurück, die sowohl grizzly als auch bears enthalten, jedoch nicht unbedingt als einzelne Phrase. Suchausdrücke sind häufig eine Grundvoraussetzung für Suchwerkzeuge wie Bibliothekskataloge.
  • Erweiterte Relevanzfunktionen: Stellen Sie sicher, dass die Ergebnisse ordnungsgemäß sortiert werden können, indem Sie die Häufigkeit oder Position des Suchbegriffs in Dokumenten, die Wortnähe von Phrasen oder andere Techniken messen. Zum Beispiel kann ein Surfshop Surfbrettwachs verkaufen, aber Surfbrettbeschreibungen können auch Brett und Wachs erwähnen, was zu irrelevanten Ergebnissen für Brettwachs führt.
  • Räumliche und räumliche Suche: Bei einer Abfrage nach Londoner Webentwicklern werden die Ergebnisse nach Webentwicklern aus dem King's Cross-Gebiet oder der Postleitzahl NC1 abgeglichen.
  • Aggregation, Facettierung und Statistik: Zählen Sie beispielsweise die Anzahl der Übereinstimmungen für London Web Developers oder berechnen Sie (für eine Kundendatenbank) den Median der Ausgaben für Kunden aus Großbritannien, die im letzten Jahr mehr als 500 GBP ausgegeben haben, gruppiert nach Regionen.
Für ein globales Publikum muss all diese Funktionalität für verschiedene Sprachen, Zeichensätze, Textrichtungen und geografische Standorte verfügbar sein - und potenziell mit sprachlichen und kulturellen Unterschieden umgehen. Japanisches Stemming unterscheidet sich stark von der Vorgehensweise für Englisch. Suchmaschinen und Suchdienste bieten unterschiedliche Ansätze für die Internationalisierung und Lokalisierung.

Was ist ein Suchindex?

Sie können eine kleine Datenmenge durchsuchen, indem Sie alle Daten für jede Abfrage scannen. Mit zunehmender Datenmenge wird dies langsam und ineffizient.

In seiner einfachsten Form umgeht ein Suchindexer dieses Problem, indem er einen Datensatz analysiert und einen Index der Suchbegriffe (Wörter oder Ausdrücke) und ihrer Position innerhalb der Daten erstellt - ein bisschen wie ein Index am Ende eines Buches. Die Suchimplementierung kann dann die Abfrage im Index nachschlagen, anstatt alle Daten zu scannen. Indexer können auch Funktionen wie die Behandlung von Stoppwörtern und das Stemming implementieren.

Sie können hier ein Beispiel für einen einfachen Index anzeigen, der für diese Demo mit der Lunr-JavaScript-Bibliothek erstellt wurde:

Was ist ein Dokument?

Verwirrenderweise wird das Wort "Dokument" in Bezug auf Suchmaschinen mit zwei unterschiedlichen Bedeutungen verwendet:

  • Daten, die einen einzelnen Artikel, einen Datensatz oder ein Objekt darstellen, zum Beispiel:
    {name: 'Fred Nerk', job: 'Web Developer'}
  • Eine Binärdatei in einem Format wie PDF oder Word.

Das Bereitstellen hochwertiger Suchergebnisse für eine Reihe von Binärdateien kann sehr viel komplexer sein als das Durchsuchen strukturierter Textdaten. Stellen Sie sich einen Videoarchivkatalog vor, der aus Millionen von Legacy-Dateien mit mehreren verschiedenen Binärformaten und einer Vielzahl von Inhaltsstrukturen besteht. Wie können Sie eine konsistente und genaue Suche über den gesamten Dokumentensatz hinweg durchführen?

Woran müssen Sie noch denken?

  • Latenz der Datenaktualisierung: Die Zeitspanne zwischen dem Hinzufügen, Aktualisieren oder Löschen von Daten, bis Ihre Änderungen in den Suchergebnissen angezeigt werden. Diese Latenz kann für Suchmaschinen sehr gering sein, möglicherweise unter einer Sekunde, selbst bei großen Datenmengen. Eine geringe Aktualisierungswartezeit ist entscheidend für eine umfangreiche E-Commerce-Suche oder für jeden Kontext, in dem Suchergebnisse Datenaktualisierungen innerhalb strenger, durch SLAs festgelegter Fristen widerspiegeln müssen, z. Die clientseitige Suche ist möglicherweise nicht in der Lage, eine ausreichend niedrige Aktualisierungswartezeit bereitzustellen oder zu gewährleisten, dass Aktualisierungen weitergegeben wurden. Die Aufrechterhaltung der clientseitigen Suche kann auch sehr ineffizient sein, da jede Daten- oder Indexaktualisierung an alle Benutzer verteilt und von diesen installiert werden muss.
  • Suchgenauigkeit und -ranking: Erfolgreiche Suchimplementierungen müssen Präzision und Wiederaufruf in Kauf nehmen, um fehlende Ergebnisse sowie falsch positive Ergebnisse zu vermeiden. Oft ist es entscheidend zu verstehen, wie Ergebnisse eingestuft werden und was der Indexer eigentlich ignorieren sollte.
  • Metadatensuche: Möglicherweise müssen Sie sowohl Metadaten als auch Inhalte durchsuchen, z. B. EXIF-Bilddaten oder PDF-Autoren- und Titelfelder.
Das neueste Suchmaschinen-Update von FT.com erforderte eine fachmännische Anpassung, um einwandfrei zu funktionieren. In ihrem Blogbeitrag über das Projekt wird beschrieben, wie die Implementierung anfangs zu Ergebnissen führte, die zwar sinnvoll, aber nicht wirklich relevant waren, z. Sie mussten auch sicherstellen, dass das Seitenranking die neuesten Nachrichten bevorzugt, anstatt immer das zurückzugeben, was ansonsten als "am relevantesten" erscheinen könnte.

Also ... Welche Möglichkeiten gibt es?

Suchmaschine

Führen Sie Ihre eigene Suchmaschine auf einem Server aus. Die beiden beliebtesten sind Elasticsearch und Solr, beide Open Source.

Profi

  • Eine Suchmaschine kann auch als Datenspeicher dienen - obwohl es einige Einschränkungen gibt.
  • Suchmaschinen können Petabytes an Daten auf Hunderten von Servern verarbeiten.
  • Abfragen sind extrem schnell und Aktualisierungen können mit sehr geringer Latenz durchsuchbar sein.
  • Möglicherweise relativ billig und einfach einzurichten und auszuführen, wenn Sie bereits ein Serverteam (oder zumindest einen dedizierten Systemadministrator) haben. Beachten Sie jedoch die Kommentare unter Managed Search Services.

Con

  • Einrichtungs-, Wartungs- und Aktualisierungskosten. Großserieninstallationen können komplex sein!
  • Anfängliche und laufende Infrastrukturkosten.
  • Suchanfragen, die auf einem Server ausgeführt werden, erfordern eine zuverlässige Verbindung vom Client und funktionieren offensichtlich nicht offline.
  • Moderne Suchmaschinen sind extrem schnell, aber Client-Konnektivitätsengpässe und Latenzen können dazu führen, dass die Suche nicht mehr reagiert.
  • Für jede Suchanfrage ist eine Anfrage an den Server erforderlich, die bei mobilen Clients erhebliche Datenkosten und einen erheblichen Akkuverbrauch verursachen kann. Sofortige Suche kann das noch schlimmer machen.

Verwalteter Suchdienst

Verwenden Sie einen kommerziellen Dienst wie Algolia, Amazon CloudSearch oder eine Plattform wie Firebase oder Cloudant, die in Suchdienste von Drittanbietern integriert ist (Firebase verwendet Algolia).

Profi

  • Es ist nicht einfach, einen umfangreichen Suchdienst einzurichten und zu warten, der einer hohen Nachfrage und hohen Zugriffszahlen sowie komplexen Datenmengen im Petabyte-Bereich und einer hohen Anzahl von Aktualisierungen standhält. Es kann schwierig sein, die richtigen Leute für die Arbeit zu finden.
  • DIY-Alternativen können zu höheren Infrastruktur- und Personalkosten führen.
  • Ein verwalteter Dienst kann einfacher und zuverlässiger skalierbar sein.
  • Die Outsourcing-Suche kann die Verwaltung von Setup, Wartung und Updates vereinfachen und die Startzeit verkürzen.
  • In den meisten Fällen sollte die Leistung von verwalteten Diensten mindestens so gut sein wie die von Heimwerkern.
  • Managed Services sind potenziell zuverlässiger als selbst gehostete Alternativen und sollten in der Lage sein, Mindestservicelevels zu gewährleisten.
  • Möglicherweise kann die Suche relativ kostengünstig in bestehende Cloud-Verträge aufgenommen werden.

Con

  • Potenziell teurer als DIY-Suchmaschinenoptionen.
  • Wie bei anderen serverseitigen Optionen: Datenkosten, Akkunutzung und Abhängigkeit von der Konnektivität. Sofortige Suche kann das noch schlimmer machen.

Datenbank mit integrierter Suche

NoSQL-Datenbanken einschließlich MongoDB unterstützen die Volltextsuche. CouchDB kann die Suche mit couchdb-lucene oder in vorgefertigten Alternativen wie Couchbase implementieren.

Die Volltextsuche wird auch von relationalen Open-Source-Datenbanken wie MySQL und PostgreSQL sowie vielen kommerziellen Alternativen unterstützt.

Profi

  • Eine Datenbank, die die Volltextsuche unterstützt, ist möglicherweise für Ihre Anforderungen geeignet, ohne dass die Einrichtung und Pflege einer separaten Suchmaschine erforderlich ist.
  • Es gibt gute Gründe, eine Suchmaschine nicht als Datenspeicher zu verwenden. Wenn Sie ein erhebliches Datenvolumen speichern und aktualisieren müssen, benötigen Sie wahrscheinlich eine Datenbank. Wenn Ihre Datenbank die Suche ermöglicht, ist dies möglicherweise alles, was Sie benötigen.

Con

  • Die integrierte oder zusätzliche Datenbanksuchfunktion ist möglicherweise nicht leistungsfähig oder flexibel genug, um Ihre Anforderungen zu erfüllen.
  • Eine vollständige relationale Datenbank oder eine NoSQL-Datenbank kann für kleinere Datensätze mit einfacheren Anwendungsfällen überflüssig sein.
  • Bei gleicher Konnektivität treten andere serverseitige Optionen auf.

Google Site Search und Google Custom Search Engine

Google Site Search ist veraltet, die benutzerdefinierte Suchmaschine (CSE) von Google ist jedoch weiterhin verfügbar. Die Unterschiede zwischen den beiden werden hier erklärt.

Sie können CSE anhand des folgenden Beispiels ausprobieren, in dem Produkte aus dem Polymer Shop-Projekt gesucht werden.

Wenn Sie keine Anzeigen möchten und gerne zahlen (oder das kostenlose Kontingent ausreicht), funktioniert die CSE-API möglicherweise für Sie.

Profi

  • Schnell und einfach einzurichten.
  • Schnelle und zuverlässige Suche.
  • Werbefrei für gemeinnützige Organisationen und Bildungseinrichtungen.

Con

  • Die API-Version kostet 5,00 USD pro 1000 Abfragen.
  • Wenn Sie die API nicht verwenden und keine eigene API erstellen, werden Anzeigen oben in den Suchergebnissen angezeigt.
  • Für Autosuggest oder andere Eingabefunktionen ist keine Anpassung möglich.
  • Keine Kontrolle über das Ergebnisranking oder das Layout, da Google Site Search veraltet ist.

Client-seitige Suche

Die Cache- und Service-Worker-APIs ermöglichen es Websites, offline zu arbeiten und die Ausfallsicherheit für die variable Konnektivität zu erhöhen. Lokales Caching in Kombination mit clientseitiger Suche kann eine Reihe von Anwendungsfällen ermöglichen. Zum Beispiel:

  • Suche in einem Online-Shop im Offline-Modus.
  • Kunden können einen Filialfinder verwenden oder ihre Kaufhistorie durchsuchen.
  • Ausfallsicherheit und Ausfallsicherheit bei Verbindungsabbrüchen.

Die clientseitige Suche kann besonders für eine relativ kleine Datenmenge interessant sein, die sich kaum ändert. Die hier gezeigte Demo durchsucht beispielsweise Shakespeares Stücke und Gedichte:

Clientseitige JavaScript-Volltextsuchbibliotheken enthalten Lunr oder ElasticLunr.

Sie stellen eine Reihe von Dokumenten im JSON-Format bereit, z. B. eine Produktliste, und erstellen dann einen Index. So machen Sie das mit dem Elasticlunr Node-Modul:

Um die Suche auf dem Client zu starten, müssen Sie zuerst die Indexdaten abrufen und laden:

Um die Offlinesuche zu aktivieren, kann die Indexdatei vom Client mithilfe der Cache-API gespeichert werden. Alternativ können Sie Dokumentdaten abrufen und den Index auf dem Client erstellen, diesen dann serialisieren und lokal speichern.

Und schlussendlich:

WebSQL-fähige schnelle Textsuche (Demo) und Volltextsuche (Demo).
Der WebSQL-Standard wurde jedoch eingestellt und nur teilweise vom Browser unterstützt.
Die Volltextsuche in WebSQL wird jetzt entfernt.

Profi

  • Relativ einfach einzurichten und zu warten.
  • Kein Suchmaschinen-, Datenbank- oder Drittanbieter-Suchdienst erforderlich.
  • Die Suche wird auf dem Client durchgeführt, sodass für Abfragen kein Server-Roundtrip erforderlich ist. Reduzieren Sie daher die Serverauslastung und verwenden Sie weniger Funk auf Mobilgeräten.
  • Die clientseitige Suche ist unempfindlich gegenüber Konnektivitätsschwankungen.
  • Die clientseitige Suche kann für kleinere Datensätze extrem schnell sein.
  • Die Offline-Suchfunktion kann aktiviert werden, indem Indexdateien mit clientseitigem Speicher wie der Cache-API oder localStorage zwischengespeichert werden.
  • Möglicherweise nützlich für Inhalte, die nicht häufig aktualisiert werden oder bei denen Aktualisierungen (obwohl wichtig) nicht zeitkritisch sind. Beispielsweise könnte eine E-Commerce-Site die clientseitige Suche verwenden, um den Offline-Zugriff auf Geschäftsstandorte zu ermöglichen.

Con

  • Nur für eine begrenzte Datenmenge lebensfähig - obwohl dies bis zu Zehntausenden von Dokumenten sein kann, möglicherweise sogar mehr, solange die Daten relativ statisch sind und sich nicht häufig ändern.
  • Hohe Latenz für Datenaktualisierungen im Vergleich zu serverseitigen Alternativen.
  • Möglicherweise veraltete Daten.
  • Die clientseitige Suche verursacht Speicher-, Speicher- und Verarbeitungskosten. Die hier gezeigte Demo (in der Shakespeares Stücke und Gedichte durchsucht werden) belegt über 200 MB Speicher, wenn sie in Chrome auf dem Desktop ausgeführt wird.
  • Derzeit gibt es keine Möglichkeit, ein JavaScript-Objekt, z. B. einen Suchindex, über mehrere Seiten hinweg freizugeben, außer durch Serialisieren und Speichern. (Shared Worker umgehen dies, sind jedoch für Chrome für Android nicht implementiert. SharedArrayBuffer ist möglicherweise hilfreich, wurde jedoch von allen gängigen Browsern standardmäßig deaktiviert.) Sofern Sie keine SPA-Architektur verwenden, müssen Sie den Index jedes Mal neu erstellen Der Benutzer navigiert zu einer neuen Seite, die nicht bearbeitet werden kann.
  • Ein serverseitiger Suchdienst mit einer API kann plattform- und gerätetypübergreifend verwendet werden, während die clientseitige Suche möglicherweise sowohl für das Web als auch für native Anwendungen implementiert werden muss, möglicherweise mit serverseitigen Ausfällen.
  • Offline-Use-Cases haben (noch) keine Priorität für E-Commerce oder andere Arten von Websites. Warum sollten Sie sich also um die clientseitige Suche kümmern?

Clientseitige Suche mit automatisierter Replikation

JavaScript-Bibliotheken wie PouchDB und SyncedDB erfüllen weitgehend die gleichen Aufgaben wie die oben beschriebenen clientseitigen Bibliotheken, bieten jedoch auch die Möglichkeit, Daten auf dem Client automatisch mit einer Back-End-Datenbank zu synchronisieren, optional in beide Richtungen.

Sie können hier eine offline-fähige PouchDB-Demo ausprobieren.

Profi

  • Theoretisch „das Beste aus zwei Welten“: Die Suche erfolgt auf dem Client, die Daten werden ständig aktualisiert.
  • Aktiviert die Offline-Suche.
  • Reduziert wie bei anderen Arten der clientseitigen Suche die Anzahl der Anforderungen und reduziert dadurch möglicherweise die Serverlast und die Funknutzung des Geräts.
  • Aktiviert die bidirektionale Synchronisierung, möglicherweise für mehrere Endpunkte.

Con

  • Die Architektur ist komplexer als das einfache Verwalten von Daten (z. B. als JSON-Datei): Ein Datenbankserver ist erforderlich.
  • Wie bei anderen Arten der clientseitigen Suche entstehen bei der Verarbeitung Batteriekosten, und die potenzielle Größe des Datensatzes wird durch das clientseitige Speicherkontingent begrenzt.
  • Für einen Client mit guter Konnektivität möglicherweise langsamer als eine schnelle Back-End-Datenbank oder eine Suchmaschine.

Was ist mit UX und UI?

Abfrageeingabe

Insbesondere auf Einkaufsseiten wird ein hohes Maß an Design für die Eingabe von Suchanfragen erwartet. Funktionen wie Synonym-Matching und Autosuggest sind mittlerweile Standard.

Zum Beispiel macht Asos eine großartige Arbeit darin, Übereinstimmungen hervorzuheben und andere Kategorien und Marken vorzuschlagen:

Dieser Artikel enthält weitere hervorragende Beispiele für die Suche in hoher Qualität sowie sinnvolle Richtlinien für das Design von Sucheingaben.

Stellen Sie sicher, dass Sie die verschiedenen Arten der Suche verstehen, die Ihre Benutzer benötigen. Ein Online-Shop muss beispielsweise flexibel sein, wie die Nutzer das finden möchten, wonach sie suchen:

  • Allgemeine Textsuche: Google Phone, Android Mobile
  • Produktname: Pixel, Pixeltelefon, Pixel 2
  • Produktspezifikation: Pixel 64GB ein bisschen blau
  • Produktnummer: G-2PW4100
  • Kategorie: Telefon, Handy, Smartphone

Suchergebnisse

Inhalt und Darstellung der Suchergebnisse sind entscheidend:

  • Finde heraus, was die Leute wollen und gib es ihnen! Wenn nur ein Ergebnis zurückgegeben wird, ist es möglicherweise am besten, direkt zum entsprechenden Artikel zu wechseln, z. B. wenn ein Kunde eine Teilenummer eingibt.
  • Geben Sie den Personen in den Suchergebnissen so viele Informationen und Funktionen wie möglich. Bei einem Online-Shop kann dies Bewertungen und Stiloptionen sowie die Möglichkeit zum Kauf mit einem Klick umfassen. Zwingen Sie niemanden, die Produktseite aufzurufen - jeder Klick verliert Nutzer.
  • Überprüfen Sie die Analyse auf Suchanfragen, bei denen Nutzer keine Ergebnisse angeklickt haben. Stellen Sie immer sicher, dass Konfigurationsänderungen, die für einige Suchvorgänge funktionieren, andere nicht durcheinander bringen. Ein genaues Ergebnis-Ranking ist für eine erfolgreiche Suche von grundlegender Bedeutung.
  • Aktivieren Sie die Hervorhebung von Suchbegriffen (mithilfe des mark-Elements) und geben Sie den Kontext an, in dem dies sinnvoll ist. Dies ist entscheidend für längere Dokumente.

Screwfix bietet Checkout-Optionen direkt auf der Suchergebnisseite und wandelt eine Abfrage (in diesem Fall Bosch Drill) automatisch in einen gefilterten Satz von Ergebnissen um, die jeweils Überprüfungsbewertungen und eine vernünftige Detailstufe des Produkts enthalten:

Im Gegensatz dazu hält Made die Ergebnisse sauber und übersichtlich, was der Marke entspricht:

ft.com ordnet Nachrichten nach Datum und schlägt sinnvolle Optionen zur Verfeinerung der Ergebnisse vor:

Getty Images konzentriert sich auf ... Bilder! Filteroptionen werden basierend auf verfügbaren Metadaten sowie Layout- und Anzeigeoptionen bereitgestellt:

Funktionsübergreifende Überlegungen

Die Suche befindet sich nicht im luftleeren Raum. Erfolgreiche Implementierungen erfordern eine gute Kommunikation zwischen verschiedenen Stakeholdern:

  • Die Aufrechterhaltung einer qualitativ hochwertigen Suchfunktion erfordert eine kontinuierliche funktionsübergreifende Zusammenarbeit zwischen Fachexperten, Inhaltsanbietern, Anwendungsentwicklern, Back-End-Entwicklern, Designern, Marketing- und Vertriebsteams. Unterschiedliche Teams müssen unterschiedliche Prioritäten in Einklang bringen - und verstehen, wer das letzte Wort hat!
  • Änderungen verursachen häufig Probleme oder unerwartete Auswirkungen. Zum Beispiel kann das Erhöhen der Unschärfe und des Gefälles einige Suchvorgänge verbessern, wodurch andere Suchvorgänge zu irrelevanten Ergebnissen führen.
  • Machen Sie es Nicht-Technikern leicht, Funktionen wie die automatische Vervollständigungs- und die Synonymsuche anzupassen oder der Suche Merchandising und andere Inhalte hinzuzufügen.

Suchen von Audio und Video

Wenn Sie über Video- oder Audioinhalte verfügen, können Sie Benutzern das Auffinden dieser Inhalte ermöglichen, indem Sie nach Metadaten wie Titeln und Beschreibungen suchen.

Bei diesem Ansatz gibt es zwei Probleme:

  • Die Suche erfolgt nur nach Metadaten, nicht nach Inhalten.
  • Wenn eine Übereinstimmung gefunden wird, wird sie nur auf die oberste Ebene einer Audio- oder Videodatei verschoben.

Wenn Ihr Audio oder Video Untertitel, Untertitel oder andere Arten von zeitgesteuerten Metadaten enthält, können Suche und Navigation sehr viel detaillierter sein.

Die hier gezeigte Demo durchsucht beispielsweise die Videotitel von Google-Entwicklern und ermöglicht die Navigation zu bestimmten Punkten in Videos. Der Inhalt der Demo wird auf YouTube gehostet, das das SRT-Format für Untertitel verwendet. Sie können dies in Aktion sehen, wenn Sie das Transkript für ein manuell beschriftetes YouTube-Video wie das hier gezeigte anzeigen:

Websites können Untertitel und Bildunterschriften mit einem Track-Element (Demo hier) im WebVTT-Format verwenden, das SRT sehr ähnlich ist:

Testen

Testen Sie auf jeden Fall Änderungen und behalten Sie die Analyse und das Suchprotokoll im Auge. Integrieren Sie Rabatt-Usability-Tests in Ihren Workflow.

Machen Sie es Nicht-Technikern einfach, Suchstatistiken zu überwachen und zu verstehen:

  • Wonach suchen die Leute am meisten? Wonach suchen die Leute nicht?
  • Wann und warum liefern einige Abfragen keine Ergebnisse? Können diese durch Hinzufügen von Synonymen oder Rechtschreibvorschlägen behoben werden?
  • Wann führt eine Suche zu einem Verkauf oder einer anderen Art von „Umwandlung“?
  • Überprüfen Sie die Analyse auf Suchanfragen, die dazu führen, dass Benutzer die Site verlassen, anstatt auf ein Ergebnis zu klicken.

Finde mehr heraus

Installieren und Verwenden von Suchmaschinen und verwalteten Diensten

In den beiden folgenden Artikeln wird das Einrichten und Verwenden mehrerer der beliebtesten Suchmaschinen und verwalteten Dienste ausführlicher erläutert:

  • Mehr über Suchmaschinen
  • Mehr zur Suche als Dienstleistung

Artikel, Bücher und Podcasts

  • 24 Best-Practice-Tipps für die E-Commerce-Site-Suche: Sinnvolle Zusammenstellung von UI- und UX-Tipps.
  • Aufbau einer neuen Suche nach FT.com: Wie eine erfolgreiche Nachrichtenseite die Suchfunktion für 720.000 Inhalte wiederherstellte.
  • Relevante Suche: Ein aktuelles gedrucktes Buch! Kostenlose Kapitel online und ein Podcast.
  • Einführung in das Abrufen von Informationen: Fast 10 Jahre alt, aber immer noch von hoher Relevanz und kostenlos online zu lesen.
  • AI-basierte Suchmaschinen: Wissenschaftlicher amerikanischer Artikel über kostenlose AI-basierte wissenschaftliche Suchmaschinen.
  • Sprachsuche
    Die Zukunft der Suche sind Sprach- und persönliche digitale Assistenten
    Warum Sie sich auf eine Revolution in der Sprachsuche vorbereiten müssen
    Wie reine Audio-Interfaces die Suche verändern und zu unterschiedlichen Arten von Mensch-Computer-Interaktionen führen. Weitere Statistiken zur Sprachsuche hier. Laut comScore werden bis 2020 50% aller Suchvorgänge Sprachsuchen sein.
  • Warum sollte ich ElasticSearch nicht als primären Datenspeicher verwenden ?: Erläutern Sie, warum Sie möglicherweise noch eine Datenbank benötigen.
  • Implementieren der clientseitigen Suche mit Vue.js: Einfacher Code zum Hinzufügen der Textsuche in einem JSON-Dataset mit fuzzaldrin-plus.
  • Wie Algolia das Relevanzproblem von Suchmaschinen angeht: Wie die Algolia-Suchmaschine die Ergebnisse einstuft, mit einem interessanten Kommentarthread, der einige ihrer Behauptungen bestreitet.
  • Funktionsweise der Suche: Eine Videoübersicht über die Google-Suche.

Vielen Dank an alle, die mit diesem Artikel geholfen haben.