Es erscheint entmutigend, aber das Hinzufügen einer leistungsstarken Suchfunktion zu Ihrer Anwendung ist weder komplex noch zeitaufwändig. Hier sind einige solide Empfehlungen!
Während viele Technologien in den letzten 2-3 Jahrzehnten beeindruckt haben, gehört die Suche zu den ganz wenigen, die aus unserem Leben nicht mehr wegzudenken sind. Sie ist allgegenwärtig - E-Commerce-Websites, Blogs, Wissensdatenbanken und vieles mehr - nicht weil ein Suchfeld und ein Symbol cool aussehen, sondern weil sie etwas tut, was dringend benötigt wird.
Was tun Sie, wenn Sie als Unternehmen eine gute Suchlösung suchen oder mit Ihrer vorhandenen Lösung überfordert sind?
Zum Glück müssen Sie weder lächerliche Lizenzgebühren zahlen noch ein Team von 20 Entwicklern und Sysadmins unterhalten. Heute habe ich einige Empfehlungen für Suchmaschinen, die im Handumdrehen installiert und integriert werden können, insbesondere für kleine Unternehmen mit Entwicklerteams der Größe 1-2.
MeiliSearch
Eine der allerbesten und hochwertigsten Suchmaschinen, die Sie finden werden, ist MeiliSearch.

Was veranlasst mich auch, MeiliSearch zu meinen Top-Empfehlungen zu zählen?
Das ist ganz einfach.
Offene Quelle
Der gesamte Quellcode von MeiliSearch ist auf GitHub öffentlich zugänglich. Das bedeutet, dass Entwickler jeden Teil des Codes selbst untersuchen können. Im Gegenzug können sich Unternehmen von der Qualität und der Intention des Programms überzeugen (z.B. keine Hintertüren oder Scanner im Programm). Und natürlich können sachkundige Entwickler dazu beitragen, die Technologie noch weiter zu verbessern.
Großartige UX
MeiliSearch hat keine komplexen Regeln (wie "a - b" bedeutet a, aber nicht b). Geben Sie Ihre Suche einfach ganz natürlich ein, und die Ergebnisse werden fließend angezeigt. Die Suchmaschine ist äußerst tolerant und entgegenkommend und liefert selbst bei Tippfehlern oder Synonymen genaue Ergebnisse. Sie unterstützt außerdem mehrere Sprachen.
Großartiges DevEx
Entwickler werden MeiliSearch lieben! Es ist nicht nur anpassbar und skalierbar, sondern verfügt auch über eine REST-API! Die Dokumentation ist ebenfalls ausgezeichnet und vollständig. HTTP-Aufrufe sind zwar in jeder Sprache trivial, aber für diejenigen, die es eilig haben, gibt es Beispiele in fünf Sprachen (JavaScript, Ruby, Python, Golang und PHP).
Einfache Suchlösungen sollten einfach zu bedienen und einzurichten sein. In dieser Hinsicht erfüllt MeiliSearch alle Kriterien! Wenn Sie damit zufrieden sind, können Sie es mit einem Klick auf DigitalOcean einrichten.
Solr
Solr, das zum Apache-Projekt gehört, gibt es schon seit einigen Jahren. Es basiert auf der bekannten und äußerst zuverlässigen Lucene-Bibliothek, die auch die beliebte Suchlösung ElasticSearch betreibt. All dieser Hokuspokus bedeutet, dass Solr zu den leistungsstärksten, skalierbarsten, standardkonformsten, funktionsreichsten und zuverlässigsten Suchlösungen gehört.

Sie wird von Giganten wie Disney, eBay, Netflix, Zappos und BestBuy verwendet. Das bedeutet jedoch nicht, dass Sie nicht auch mit einer kleineren, einfacheren Installation (z.B. nur eine Maschine, keine Skalierung, kein Failover - nun ja, manchmal ist das auch in Ordnung) dieses Kraftpaket namens Solr nutzen können.
Warum auch Solr verwenden?
Hier sind einige gute Gründe.
Präzise und leistungsstark
Solr ist eines der genauesten, leistungsfähigsten und leistungsstärksten Suchsysteme der Welt. Außerdem ist es quelloffen, was erklärt, warum sich große Namen (wie bereits erwähnt) für Solr entschieden haben. Seine Fähigkeit, Dokumente zu verarbeiten und Suchanfragen zu beantworten, ist unübertroffen.
Einfache Installation und Wartung
Die Installation von Solr ist so einfach wie das Dekomprimieren und Ausführen des Programms. Für einfache Systeme mit nur einer Maschine ist keine komplizierte Wartung erforderlich. Achten Sie jedoch auf die RAM-Auslastung, da Suchlösungen im Allgemeinen und Java-basierte Technologien im Besonderen sehr RAM-hungrig sein können (weil sie alles im RAM halten oder zu halten versuchen, um schnelle Lese-/Schreibvorgänge zu ermöglichen).
Verwaltungskonsole
Solr wird mit einer Verwaltungskonsole geliefert, die eine visuelle Überwachung und Konfiguration ermöglicht. Mit einem wenig Training können auch Nicht-Entwickler lernen, die wichtigsten Tabellen zu lesen. Nicht viele Suchlösungen auf dieser Liste verfügen über eine solche Funktionalität.

API-gesteuert, standardkonform
Solr bietet eine Ergebnisschnittstelle in einer API, die mehrere Formate verarbeiten kann - JSON, CSV, XML und binär. Es gibt Überwachungsdaten gemäß dem JMX-Standard aus, ein großes Segen für Java-Entwickler.
Es gibt noch viel mehr zu sagen, was für Solr spricht, aber alles aufzuzählen, würde den Rahmen sprengen. Es genügt zu sagen, dass Solr eine erstklassige Lösung ist, mit der Sie nie etwas falsch machen können, ganz gleich, mit welcher Art von Daten Sie arbeiten.
Elasticsearch
Elasticsearch war - und ist wohl immer noch - ein Pionier der Freitextsuche. Wenn Sie heute einen Programmierer oder Systemadministrator nach einer Empfehlung für eine Suchmaschine fragen, ist Elasticsearch höchstwahrscheinlich der einzige Name, den er nennen wird. Sicherlich wird heutzutage auch ein beträchtlicher Teil etwas wie Algolia empfehlen, aber wir haben bereits darüber berichtet, wie sich das auswirkt. 🤪

Lassen Sie sich nicht von der Schaltfläche "Kostenlose Testversion starten" in der obigen Grafik in die Irre führen. Während die Elasticsearch-Kerntechnologie selbst quelloffen und kostenlos ist, versucht das Unternehmen, seine Bemühungen zu monetarisieren und Unternehmen anzusprechen. Daher ist das, was Sie hier sehen, in Wirklichkeit die Testversion für den Cloud-Service, der die Verwaltung von Elasticsearch vereinfacht, insbesondere wenn es um Cluster geht.
Uff, so viele Netze zum Entwirren. Lassen Sie uns rekapitulieren: Elasticsearch ist quelloffen und kostenlos, und jeder kann es einfach einrichten und ohne Einschränkungen nutzen.
Und nun, wie erwartet, lassen Sie uns auf die Gründe für die Wahl von Elasticsearch eingehen:
- Ausgereift, kampferprobte Suchmaschine. Das bedeutet, dass Sie weitaus wahrscheinlicher Lösungen finden, wenn Sie mit "seltsamen" Fehlern konfrontiert werden.
- Erstklassiger Fokus auf Clustering, Skalierbarkeit und asynchrone Schreibvorgänge.
- Zugänglich über eine einfache REST-API (was alle anderen schließlich kopiert haben).
- Dokumentorientiert, unterstützt aber bei Bedarf Schemata.
- Unglaublich schnell und genau Ergebnisse. Konfigurierbar Suchgeschwindigkeit.
- Hervorragende Dokumentation, sowohl was den Umfang als auch die Nützlichkeit betrifft.
- Eine komplette Such- und Analyse-Wolken-Plattform (der ELK-Stapel), wenn Sie für diesen Komfort bezahlen möchten.
Der einzige Kritikpunkt, den ich an Elasticsearch habe, ist der enorme RAM-Verbrauch. Ich meine, als Berater ist es schwer genug, Kunden davon zu überzeugen, in einen Server zu investieren, der $20/Monat kostet, was leider nicht annähernd den Anforderungen von Elasticsearch entspricht.
Wenn Sie neugierig sind, Elasticsearch zu lernen, dann schauen Sie sich diese Udemy-Kurs an.
Typesense
Typesense ist eine leichtgewichtige, unkomplizierte und dennoch leistungsstarke Suchmaschine. Wer auf der Suche nach Nützlichkeit und Einfachheit ist, sollte diese Suchmaschine unbedingt ausprobieren.

Eines der besten Dinge an Typesense ist, dass Sie es direkt auf der Website ausprobieren können. Das spart Frust und Zeit, wenn Sie alles einrichten und die API ausprobieren ... und dann feststellen, dass eine oder mehrere Funktionen nicht so funktionieren, wie Sie es sich gewünscht hätten.
Das soll nicht heißen, dass die Engine Fehler enthält. Es ist nur so, dass die Engine vielleicht nicht Ihren Vorstellungen entspricht oder dass sie mit Ihrer Geschäftsdomäne in Konflikt gerät. Tippfehler, Sonderzeichen, Synonyme und mehr ... Sie können die Ergebnisse, die die Suchmaschine ausgibt, direkt auf der Startseite überprüfen (sie verwenden dafür eine Buchdatenbank).

Wie Sie sehen können, befindet sich dieser Bereich direkt unter dem obersten Bereich. In das Suchfeld habe ich die Abfrage "tra" eingegeben, und darunter sehe ich die übereinstimmenden Ergebnisse aus der Buchdatenbank (sowie die Metadaten - Gesamtergebnisse, aktuelle Seite usw.).
Typesense hat eine Menge zu bieten, wenn es um eine Suchmaschine Ihrer Wahl geht:
- Die Technologie, die dahinter steht, ist vollständig quelloffen und einladend.
- Einfach zu konfigurieren HA (Hochverfügbarkeits)-Einrichtung, falls Sie eine benötigen.
- Tolerant gegenüber Tippfehlern und anderen Störungen in Suchanfragen.
- Ein fortschrittliches Filtersystem für diejenigen, die eine feinkörnige Kontrolle über die Suchergebnisse benötigen.
- Einfach REST-API, auch wenn Sie in den Dokumentationen lange suchen müssen, um sie zu finden!
- Kunden(SDKs) sind für einige der wichtigsten Sprachen verfügbar (JavaScript, Python, Ruby und PHP).
Und wenn Sie die Einrichtung neuer Server ermüdend finden, bietet Typesense auch ein Cloud-Angebot, bei dem die Bereitstellung mit einem einzigen Klick erfolgt. Die Abrechnung erfolgt stundenweise, und Lese- und Schreibzugriffe werden nicht berechnet. Offen gesagt würde ich sagen, dass dies für die meisten Unternehmen die bessere Option ist, vorausgesetzt, sie haben die Preise im Voraus ausgearbeitet und sichergestellt, dass es sich um einen Nettogewinn handelt.
Alles in allem macht Typesense sehr viel Sinn (kein Wortspiel beabsichtigt!), wenn Sie etwas Kleines, Feines, Präzises und ein echtes Arbeitstier brauchen.
Sonic
Sonic rühmt sich damit, eine ElasticSaerch-Alternative zu sein, die mit "ein paar MByte RAM" auskommt.
Wie ist das möglich?
Nun, die Java Virtual Machine (JVM) ist dafür bekannt, dass sie sehr viel RAM benötigt (im Allgemeinen verbraucht das Starten der JVM etwa 1 GB RAM). Es ist auch keine Überraschung, dass etwas, das in der Sprache Rust programmiert ist (die Entwicklern volle Kontrolle und Speichersicherheit bietet), genauso schnell laufen kann und nur ein paar MB RAM benötigt.

Zum Zeitpunkt der Erstellung dieses Artikels sind einige Unternehmen unter den Nutzern aufgeführt, aber ich bin mir sicher, dass es noch ein paar mehr gibt, die sich nicht die Mühe gemacht haben, ihre Namen hinzuzufügen. Ich erinnere mich nicht mehr an den genauen Zeitpunkt, aber ich bin schon früher auf Sonic gestoßen. Damals war ich zwar froh, dass es eine Alternative mit geringem Speicherbedarf gab, aber ich dachte, es würde Zeit brauchen, um sich zu stabilisieren und versteckte Fehler auszubügeln. Nun, es sieht so aus, als ob sie mehr oder weniger angekommen sind; wie beliebt Sonic wird, wird nur die Zeit zeigen.
Okay, abgesehen von den langen Überlegungen, warum sollten Sie Sonic für Ihr Unternehmen/Projekt in Betracht ziehen?
Hier sind einige Gründe:
- Äußerst geringer Speicherbedarf, soweit es sich um Suchmaschinen handelt.
- Es sindBibliotheken für alle wichtigen Programmiersprachenverfügbar. Node, PHP und Rust wurden von den Autoren selbst veröffentlicht, während andere von der Community erstellt wurden (freuen Sie sich, denn auch Exoten wie Elixir und Nim werden abgedeckt!).
- Es wirdmehrere Sprachen unterstützt (es war zu viel, um sie zu zählen, aber ich glaube, zum Zeitpunkt des Schreibens werden 40-50 Sprachen unterstützt).
- Eine Überraschung! Sie können sogar neue Sprachen verwenden, und die Engine wird funktionieren (😂😂), obwohl Sie einige fortgeschrittene Funktionen wie Stoppwörter verlieren werden.
- Sehr schneller Motor. Wenn Sie sich die GitHub-Seite ansehen, werden Sie feststellen, dass die Aufnahme- und Suchzeiten in einigen Fällen im Mikrosekundenbereich lagen! Natürlich handelte es sich dabei um einen Test mit nur einer Maschine, da die Netzwerklatenz niemals so niedrige Zahlen zulassen wird.
Wenn Sie diese Engine in Aktion sehen möchten, gehen Sie auf diese Link (eines der Benutzerunternehmen) und spielen Sie mit dem dort angezeigten Suchfeld:

Sonic hat als Suchmaschine gewisse Einschränkungen. Die Entwickler haben diese auf ihrer GitHub-Seite offen dargelegt und diskutiert. Ich würde Ihnen raten, sich diese Liste genau anzuschauen und sich zu vergewissern, dass Ihre Anwendungsfälle nicht mit deren Bereich übereinstimmen. Davon abgesehen hat alles seine Grenzen. Sie werden nur verborgen gehalten, so dass wir sie erst erkennen, wenn es zu spät ist. Daher halte ich Sonic für eine hervorragende Wahl für eine Suchmaschine.
TNTSearch
Wir haben jetzt einen faszinierenden Eintrag in dieser Liste. Das erste Interessante ist, dass diese mit allen Funktionen ausgestattete, produktionsreife Suchmaschine in PHP geschrieben wurde!
Ja, von allen Sprachen, die es gibt, in PHP. Und ich sage das nicht, weil ich PHP hasse, sondern weil es von vornherein ein kurzlebiger Prozess ist.

Die zweite interessante Sache ist die Lizenz, zumindest zum Zeitpunkt des Schreibens. Eigentlich ist die Lizenz selbst MIT, so dass es hier keine Probleme gibt, aber die Autoren stufen diese Software als PS4Ware ein; wenn Sie TNTSearch in der Produktion einsetzen, sollten Sie ihnen ein PS4-Spiel schicken! 😂😂 Nun, das ist nicht obligatorisch, wie das "sollte" andeutet, aber es ist unglaublich witzig. Ich hoffe auch, dass sie es auf eine PS5-Lizenz upgraden, auch wenn es im Moment noch zu früh ist.
Da ich selbst einen starken PHP-Laravel-Hintergrund habe, schätze ich die Bemühungen dieses Jungs sehr. Auf ihre Website steht nicht viel, aber es scheint, dass sie Berater sind. Ich empfehle Ihnen auch dringend, sich an sie zu wenden, wenn Sie Projekte haben!
Gibt es gute Gründe für den Einsatz von TNTSearch in Ihren Projekten?
Ja, die gibt es:
- In PHP codiert, für PHP, von PHP. Das PHP-Ökosystem braucht mehr engagierte, hochwertige Lösungen wie diese.
- Wichtige Funktionen wie Fuzzy-Suche, Geo-Suche und Textklassifizierung.
- Einfach Änderung des Suchindizes, eine wichtige Flexibilität, die bei vielen Lösungen fehlt.
- Stemming, BM25-Ranking und benutzerdefinierte Tokenisierung sorgen für hohe Genauigkeit.
- Einfache Bereitstellung - wie bei jedem anderen Composer-Paket!
Sie können die Leistung der Suchmaschine hier überprüfen und sich selbst davon überzeugen, wie schnell und genau sie ist. Ich möchte noch einmal den PHP-Aspekt betonen: Wenn Sie ein PHP-Projekt betreuen, möchten Sie so weit wie möglich innerhalb der PHP-Mauern bleiben (warum? Denken Sie an die Umschulungskosten). Und für solche Fälle bietet TNTSearch ein Angebot, das man nur schwer ablehnen kann!
Vespa
Vespa ist ein umfangreiches und schwergewichtiges Angebot. Wie einige andere Einträge auf dieser Liste ist es zu umfangreich, um es in ein paar Worten zu fassen. Aber ich muss es versuchen, also werde ich es tun 🙂 Vespa ist eine Suchmaschine, sicher, aber wenn Sie sie als gewöhnliche Suchmaschine verwenden, verschenken Sie ihr Potenzial.
Vespa wurde entwickelt, um unendliche Datenmengen (Big Data) zu verarbeiten und darüber hinaus maschinelles Lernen und endlose Anpassungsmöglichkeiten zu bieten.

Vespa positioniert sich als Konkurrent von Elasticsearch und herkömmlichen Datenbanken und bietet einen anständigen Vergleich, was man wann verwenden sollte.

Wie Sie sehen können, macht Vespa umso mehr Sinn, je näher Sie an Machine Learning-gesteuerte Operationen herankommen möchten. Als reine Suchmaschine für ein kleines bis mittelgroßes Unternehmen hat sie meiner Meinung nach keine Vorteile gegenüber anderen Optionen.
Wenn Sie jedoch kontinuierlich große Datenmengen generieren und die Entscheidungsfindung durch KI/ML verbessern wollen (eine Beschreibung, die auf viele SaaS-Unternehmen heute zutrifft), dann ist Vespa sehr sinnvoll:
- Offene Quelle: Keine seltsamen Lizenzen und keine Knebelverträge. Und keine zusätzlichen Kosten, obwohl ich immer wieder betone, dass Unternehmen einen regelmäßigen Betrag für die Projekte zahlen, die sie am meisten nutzen (selbst $50/Monat helfen ihnen sehr).
- Echtzeit: Vespa ist wirklich in Echtzeit. Es kann nicht nur Daten verdauen, verarbeiten und suchen, wenn sie eingehen, sondern sogar seine Konfiguration kann in Echtzeit geändert werden.
- Skalierbar und tolerant: Vespa ist trivial zu skalieren. Es reagiert auch sehr gut auf das plötzliche Verschwinden von Knoten und bietet eine hohe Zuverlässigkeit.
- Ranking und Empfehlungen: Suche, Ranking und Vespa-Empfehlungen können mit strukturierten Abfragen verschmolzen werden, um wirklich genaue Ergebnisse zu liefern.
- Schmerzfreie KI/ML: Vespa wird mit hochwertigen, vorab trainierten ML-Modellen ausgeliefert. Sie müssen nicht 20 Datenwissenschaftler einstellen, um Ihre Daten zu bereinigen und zu nutzen.
- Benutzerdefinierte Plugins: Es gibt einen vollständigen Satz von APIs, die Entwicklern helfen, benutzerdefinierte Java-Plugins zu erstellen, falls sie die Funktionsweise der Engine ändern müssen.
Vespa ist zweifelsohne sehr umfangreich und eignet sich daher für Teams, die über die Einstiegsstufe hinausgehen - sei es aufgrund der Größe des Teams, der technischen Fähigkeiten, des Infrastrukturbudgets, des täglichen Datenvolumens oder aus anderen Gründen. Für dieses Segment ist Vespa ein Volltreffer und sehr zu empfehlen.
Fazit
Suche 🔎 ist mächtig, Suche ist magisch, und Suche ist überall!
Vielleicht ist es sogar schwarze Magie, aber heute gibt es keinen Grund mehr, warum nicht jeder (natürlich mit Hilfe von Entwicklern) von den Vorteilen profitieren kann. Von Unternehmen über Privatpersonen bis hin zu Behörden - die Suchmaschinen in dieser Liste bieten ein Angebot, das fast ohne Aufwand auskommt und exponentielle Vorteile und Auswirkungen hat.
Besorgen Sie sich einen Cloud-Server und installieren Sie die oben aufgelistete Such-Software, die Sie gerne nutzen möchten.
-
Ich schreibe über, um und für das Ökosystem der Entwickler. Empfehlungen, Anleitungen, technische Diskussionen - was auch immer ich veröffentliche, ich versuche mein Bestes, um Verwirrung und Fluff zu vermeiden und umsetzbare Antworten auf der Grundlage persönlicher Erfahrungen zu geben... mehr lesen