8 Selbst gehostete leistungsstarke Suchmaschine 🔍 Engine-Software für Ihr Produkt

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 zu einem festen Bestandteil unseres Lebens geworden sind. Es ist überall – E-Commerce-Websites, Blogs, Wissensdatenbanken und mehr – nicht, weil ein Suchfeld und ein Symbol cool aussehen, sondern weil es etwas tut, das dringend benötigt wird.

Wenn Sie ein Unternehmen sind, das nach einer guten Suchlösung sucht oder Ihre vorhandene Lösung satt hat, was tun Sie?

Zum Glück müssen Sie weder lächerliche Lizenzgebühren zahlen noch ein Team von 20 Entwicklern und Systemadministratoren unterhalten. Heute habe ich einige Suchmaschinenempfehlungen, die im Handumdrehen installiert und integriert werden können, insbesondere von kleinen Unternehmen mit Entwicklerteams der Größe 1-2.

MeiliSearch

Eine der allerbesten und hochwertigsten Suchmaschinen, auf die Sie stoßen werden, ist MeiliSearch.

Was bringt mich also dazu, MeiliSearch zu meinen Top-Empfehlungen zu zählen?

Hier geht.

Open Source

Der gesamte Quellcode, der MeiliSearch unterstützt, ist offen auf GitHub verfügbar. Das bedeutet, dass Entwickler jeden Teil des Codes selbst untersuchen können. Im Gegenzug können sich Unternehmen der Qualität und Absicht sicher sein (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 einfach Ihre Suche auf natürliche Weise ein, und die Ergebnisse werden fließend angezeigt. Die Engine ist sehr tolerant und entgegenkommend und liefert genaue Ergebnisse, selbst wenn Tippfehler oder Synonyme verwendet werden. Es unterstützt auch mehrere Sprachen.

Großartiges DevEx

Entwickler werden MeiliSearch lieben! Es ist nicht nur anpassbar und skalierbar, sondern verfügt über Schnittstellen als REST-API! Die Dokumentation ist auch ausgezeichnet und vollständig. Während HTTP-Aufrufe in jeder Sprache trivial sind, werden für diejenigen, die es eilig haben, Beispiele aus fünf Sprachen (JavaScript, Ruby, Python, Golang und PHP) gegeben.

Einfache Suchlösungen sollten einfach zu bedienen und einzurichten sein. MeiliSearch erfüllt also alle Anforderungen! Wenn Sie fortfahren möchten, starten Sie es mit einem Klick auf DigitalOcean.

Solr

Solr, Teil des Apache-Projekts, gibt es nun schon seit einigen Jahren. Es basiert auf der bekannten und äußerst zuverlässigen Lucene-Bibliothek, die auch die beliebte Suchlösung namens ElasticSearch unterstützt. All dieses Hokuspokus bedeutet, dass Solr zu den leistungsstärksten, skalierbarsten, standardkonformen, funktionsreichen und vertrauenswürdigen Suchlösungen gehört.

Es wird von Giganten wie Disney, eBay, Netflix, Zappos und BestBuy verwendet. Das bedeutet jedoch nicht, dass Sie nicht eine kleinere, einfachere Installation (z. B. Einzelmaschine, keine Skalierung, kein Failover – na ja, manchmal ist es in Ordnung) ausführen und dieses Kraftpaket namens Solr nutzen können.

Warum also Solr verwenden?

Hier sind einige gute Gründe.

Präzise und kraftvoll

Solr gehört zu den genauesten, leistungsfähigsten und leistungsstärksten Suchsystemen der Welt. Außerdem ist es Open-Source, was erklärt, warum große Namen (wie bereits erwähnt) sich auf den Weg gemacht haben. Seine Fähigkeit, Dokumente zu verdauen 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. Bei einfachen Einzelmaschinensystemen ist keine komplizierte Wartung erforderlich; Behalten Sie die RAM-Nutzung im Auge, da Suchlösungen im Allgemeinen und Java-basierte Technologien im Besonderen ziemlich RAM-hungrig sein können (weil sie alles im RAM halten oder versuchen, alles im RAM zu behalten, um schnelle Lese-/Schreibvorgänge zu ermöglichen).

Administrationsmenü

Solr wird mit einem Admin-Panel geliefert, das eine visuelle Überwachung und Konfiguration ermöglicht. Mit etwas trivialem Training können sogar Nicht-Entwickler lernen, die Schlüsseltabellen zu lesen. Nicht viele Suchlösungen auf dieser Liste verfügen über Funktionen wie diese.

Bildquelle: Offizielle Seite

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ßer Segen für Java-Entwickler.

Es gibt noch viel mehr für Solr zu sagen, aber der Versuch, alles abzudecken, wird uns bis ans Ende der Zeit führen. 😂 Es genügt zu sagen, dass Solr eine erstklassige Lösung ist, und Sie können damit nie etwas falsch machen, egal mit welcher Art von Daten Sie arbeiten.

Elastische Suche

Elasticsearch war und ist wohl immer noch ein Pionier in der Freiform-Textsuche. Auch heute noch, wenn Sie einen Programmierer oder Systemadministrator um eine Empfehlung für Suchmaschinen bitten, ist Elasticsearch höchstwahrscheinlich der einzige Name, der ihnen einfällt. Sicher, heutzutage wird ein beträchtlicher Teil auch so etwas wie Algolia empfehlen, aber wir haben bereits behandelt, wie das ausgeht. 🤪

Lassen Sie sich nicht von der Schaltfläche „Kostenlose Testversion starten“ in der obigen Grafik täuschen. Während die Kerntechnologie von Elasticsearch selbst Open Source und kostenlos ist, versucht das Unternehmen, seine Bemühungen zu monetarisieren und auf Unternehmen abzuzielen. Was Sie hier sehen, ist also eigentlich die Testversion für ihren Cloud-Service, der die Verwaltung von Elasticsearch vereinfacht, insbesondere wenn Cluster beteiligt sind.

Uff, so viele Netze zum Entwirren. Fassen wir zusammen: Elasticsearch ist Open Source und kostenlos, und jeder kann es einfach einrichten und ohne Einschränkungen nutzen.

Und jetzt, wie erwartet, tauchen wir ein in die Gründe für die Wahl von Elasticsearch:

  • Ausgereifte, kampferprobte Suchmaschine. Das bedeutet, dass Sie viel wahrscheinlicher Lösungen finden, wenn Sie mit „seltsamen“ Fehlern festsitzen.
  • Erstklassiger Fokus auf Clustering, Skalierbarkeit und asynchrone Schreibvorgänge.
  • Zugänglich über eine einfache REST-API (die alle anderen kopiert haben).
  • Dokumentorientiert, unterstützt aber bei Bedarf Schemas.
  • Wahnsinnig schnelle und genaue Ergebnisse. Konfigurierbare Suchgeschwindigkeit.
  • Hervorragende Dokumentation, sowohl in der Menge als auch in der Nützlichkeit.
  • Eine vollständige Such- und Analyse-Cloud-Plattform (der ELK-Stack), wenn Sie Lust haben, für die Bequemlichkeit zu bezahlen.

Der einzige Kritikpunkt, den ich gegen Elasticsearch hätte, ist der massive RAM-Verbrauch. Ich meine, als Berater ist es schwer genug, Kunden davon zu überzeugen, in einen Server zu investieren, der 20 US-Dollar pro Monat kostet, was leider bei weitem nicht den Anforderungen von Elasticsearch entspricht.

Wenn Sie Elasticsearch kennenlernen möchten, sehen Sie sich diesen Udemy-Kurs an.

Schriftsinn

Typesense ist eine leichte, unkomplizierte und dennoch leistungsstarke Suchmaschine. Diejenigen, die Nützlichkeit und Einfachheit suchen, sollten dies unbedingt ausprobieren.

Eines der besten Dinge an Typesense ist, dass Sie es direkt auf ihrer Website ausprobieren können. Das kann Frustration und Zeit sparen, wenn Sie alles einrichten und die API ausprobieren. . . nur um festzustellen, dass eine oder mehrere Funktionen nicht so funktionieren, wie Sie es sich gewünscht hätten.

Das soll nicht heißen, dass es Fehler in der Engine geben könnte; Es ist nur so, dass die Vorgehensweise der Engine möglicherweise nicht Ihren Vorlieben entspricht oder mit Ihrer Geschäftsdomäne völlig in Konflikt steht. Tippfehler, Sonderzeichen, Synonyme und mehr . . . Sie können die Ergebnisse, die die Engine auswirft, direkt auf der Homepage überprüfen (sie verwenden dafür eine Bücherdatenbank).

Wie Sie sehen können, befindet sich dieser Abschnitt direkt unter dem obersten. In das Suchfeld habe ich die Suchanfrage „tra“ eingegeben und unten sehe ich passende Ergebnisse aus der Bücherdatenbank (sowie Metadaten – Gesamtergebnisse, aktuelle Seite usw.).

Typesense hat viel zu bieten, wenn es um eine Suchmaschine der Wahl geht:

  • Die Technologie dahinter ist vollständig Open Source und einladend.
  • Einfache Konfiguration eines HA-Setups (High Availability), falls Sie eines benötigen.
  • Tolerant gegenüber Tippfehlern und anderem Rauschen in Suchanfragen.
  • Ein fortschrittliches Filtersystem für diejenigen, die eine feinkörnige Kontrolle der Suchergebnisse benötigen.
  • Einfache REST-API, obwohl ihre Dokumentation Sie besonders hart arbeiten lässt, um sie zu finden!
  • Clients (SDKs) sind für einige der wichtigsten Sprachen (JavaScript, Python, Ruby und PHP) verfügbar.

Wenn Sie schließlich die Idee, neue Server einzurichten, ermüdend finden, hat Typesense auch ein Cloud-Angebot, bei dem die Bereitstellung einen einzigen Klick erfordert. Die Abrechnung erfolgt stundenweise, und Lese- und Schreibvorgänge werden nicht gemessen. Ehrlich gesagt sage ich, 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, Glattes, Präzises und ein echtes Arbeitstier brauchen.

Schall

Sonic ist stolz darauf, eine ElasticSaerch-Alternative zu sein, die auf „ein paar MB RAM“ läuft.

Wie ist das möglich?

Nun, die Java Virtual Machine (JVM) ist dafür bekannt, RAM-hungrig zu sein (im Allgemeinen verbraucht das bloße Starten der JVM etwa 1 GB RAM); Kein Wunder also, dass etwas, das in der Rust-Sprache codiert ist (die Entwicklern volle Kontrolle und Speichersicherheit bietet), genauso schnell ausgeführt werden kann und nur wenige MB RAM benötigt.

Entspannt euch alle! Das ist nur das Maskottchen des Projekts.

Zum jetzigen Zeitpunkt sind einige Unternehmen unter den Benutzern aufgeführt, obwohl ich sicher bin, dass es noch ein paar mehr gibt, die sich nicht die Mühe gemacht haben, ihre Namen hinzuzufügen. Ich weiß nicht mehr, wie oder wann genau, aber ich bin schon früher auf Sonic gestoßen; Zu dieser Zeit war ich zwar froh, eine Alternative mit wenig Speicher zu sehen, dachte aber, dass es Zeit brauchen würde, um versteckte Fehler zu stabilisieren und auszubügeln. Nun, es sieht so aus, als wären sie mehr oder weniger angekommen; Wie beliebt Sonic wird, wird die Zeit zeigen.

Okay, so lange Grübeleien beiseite, warum sollten Sie Sonic für Ihre Organisation/Ihr Projekt verwenden?

Hier sind einige Gründe:

  • Extrem geringer Speicherbedarf, was Suchmaschinen angeht.
  • Bibliotheken sind für alle wichtigen Programmiersprachen verfügbar. Node, PHP und Rust sind das, was die Autoren selbst veröffentlicht haben, während andere von der Community erstellt wurden (freut euch, denn exotische Stiffs wie Elixir und Nim werden ebenfalls behandelt!).
  • Es werden mehrere Sprachen unterstützt (es war zu viel zum Zählen, aber ich denke, zum jetzigen Zeitpunkt werden 40-50 Sprachen unterstützt).
  • Eine Überraschung! Sie können sogar neue Sprachen verwenden und die Engine wird funktionieren (😂😂), obwohl Sie einige erweiterte Funktionen wie Stoppwörter verlieren werden.
  • Sehr schneller Motor. Wenn Sie sich ihre GitHub-Seite ansehen, werden Sie feststellen, dass die Aufnahme- und Suchzeiten in mehreren Fällen in Mikrosekunden lagen! Natürlich war dies ein Einzelmaschinentest, da die Netzwerklatenz die Zahlen niemals so niedrig werden lassen wird.

Wenn Sie diese Engine in Aktion sehen möchten, gehen Sie zu diesem Link (eines ihrer Benutzerunternehmen) und spielen Sie mit dem Suchfeld, das Sie dort sehen:

Es gibt bestimmte Einschränkungen für Sonic als Suchmaschine. Die Entwickler haben sie auf ihrer GitHub-Seite hervorgehoben und offen diskutiert. Mein Rat wäre, diese Liste genau zu prüfen und festzustellen, dass Ihre Anwendungsfälle nicht mit ihrer Domäne übereinstimmen. Allerdings hat alles Grenzen; es ist nur so, dass sie verborgen gehalten werden, und so merken wir es nicht, bis es zu spät ist. Daher halte ich Sonic für eine gute Wahl für eine Suchmaschine.

TNTSearch

Wir haben jetzt einen faszinierenden Eintrag auf dieser Liste. Das erste Interessante ist, dass diese produktionsreife Suchmaschine mit allen Funktionen in PHP geschrieben wurde!

Ja, von allen möglichen Sprachen PHP. Und ich sage das nicht, weil ich PHP hasse, sondern weil es von Natur aus ein kurzlebiger Prozess ist.

Die zweite interessante Sache ist ihre Lizenz, zumindest zum Zeitpunkt des Schreibens. Eigentlich ist die Lizenz selbst MIT, also gibt es dort keine Probleme, aber die Autoren klassifizieren diese Software als PS4Ware; Wenn Sie TNTSearch in der Produktion verwenden, sollten Sie ihnen ein PS4-Spiel schicken! 😂😂 Nun, es ist nicht obligatorisch, wie das „sollte“ andeutet, aber es ist unglaublich lustig. Ich hoffe auch, dass sie es auf eine PS5-Lizenz upgraden, obwohl es noch zu früh ist.

Wie auch immer, da ich selbst einen starken PHP + Laravel-Hintergrund habe, schätze ich die Bemühungen dieser Jungs sehr. Ihre Website sagt nicht viel aus, scheint aber darauf hinzudeuten, dass sie Berater sind. Ich empfehle Ihnen daher dringend, sich an sie zu wenden, wenn Sie Projekte haben!

Nun, gibt es gute Gründe, TNTSearch in Ihren Projekten zu verwenden?

Ja, es gibt:

  • Codiert in PHP, für PHP, von PHP. Das PHP-Ökosystem braucht mehr dedizierte, qualitativ hochwertige Lösungen wie diese.
  • Wichtige Funktionen wie Fuzzy-Suche, Geo-Suche und Textklassifizierung.
  • Einfaches Ändern des Suchindex, was vielen Lösungen an Flexibilität fehlt.
  • Stemming, BM25-Ranking und benutzerdefinierte Tokenisierung sorgen für hohe Genauigkeit.
  • Einfache Bereitstellung – genau wie jedes andere Composer-Paket!

Sie können die Motorleistung 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 Umschulungskosten). Und für solche Fälle bringt TNTSearch ein Leistungsversprechen, das schwer abzulehnen ist!

Vespa

Vespa ist ein breites und schweres Angebot. Wie ein paar andere Einträge auf dieser Liste ist es zu umfangreich, um es in wenigen Worten zu erfassen. Aber ich muss es versuchen, also werde ich es tun. 🙂 Vespa ist eine Suchmaschine, sicher, aber wenn Sie sie als gewöhnliche Suchmaschine verwenden, wird ihr Potenzial verschwendet.

Vespa wurde entwickelt, um endlose Datenmengen (Big Data) zu verarbeiten und darüber hinaus durch maschinelles Lernen gesteuerte Funktionen und endlose Anpassungsmöglichkeiten bereitzustellen.

Vespa positioniert sich als Konkurrent von Elasticsearch und traditionellen Datenbanken und bietet einen anständigen Vergleich darüber, was wann zu verwenden ist.

Wie Sie sehen können, macht die Vespa umso mehr Sinn, je näher Sie an maschinelles Lernen getriebenen Operationen herankommen möchten. Als reine Suchmaschine für ein kleines bis mittleres Unternehmen hat es meiner Meinung nach keine Vorteile gegenüber anderen Optionen.

Wenn Sie nun bedenken, dass Sie kontinuierlich riesige Datenmengen generieren und die Entscheidungsfindung durch KI/ML verbessern möchten (eine Beschreibung, die heute auf viele SaaS-Unternehmen zutrifft), ist Vespa hier sehr sinnvoll:

  • Open Source: Keine seltsamen Lizenzen und keine Trapping-Verträge. Und obendrein gibt es nichts zu zahlen, obwohl ich immer betone, dass Unternehmen eine regelmäßige Summe für die Projekte zahlen, die sie am meisten nutzen (selbst 50 $/Monat werden ihnen sehr helfen).
  • Echtzeit: Vespa ist wirklich Echtzeit. Es kann nicht nur Daten verdauen, verarbeiten und nach eingehenden Daten suchen; sogar seine Konfiguration kann im laufenden Betrieb 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: Such-, Ranking- und Vespa-Empfehlungen können mit strukturierten Abfragen verschmolzen werden, um wirklich genaue Ergebnisse zu liefern.
  • Schmerzlose KI/ML: Vespa wird mit hochwertigen, vortrainierten ML-Modellen geliefert. Sie müssen nicht 20 Data Scientists einstellen, um Ihre Daten zu bereinigen und zu verwenden.
  • 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 zweifellos riesig, daher ist es für Teams klar, die etwas über der Startstufe liegen – sei es Teamgröße, technische Fähigkeiten, Infrastrukturbudgets, tägliches Datenvolumen oder etwas anderes. Für dieses Segment wird Vespa einen Homerun hinlegen und ist sehr zu empfehlen.

Ambar

Für einige Unternehmen werden Suchdaten nicht bereits sauber umgewandelt und als JSON-Dokumente gespeichert; Vielmehr ist es ein Durcheinander im wahrsten Sinne des Wortes – eine chaotische Ansammlung aller möglichen Dokumente wie Word-, PDF-, HTML-Dateien usw. Wenn Sie einer von ihnen sind und dachten, es gibt keine Hoffnung für Sie, nun, sagen Sie Hallo Ambar!

Das Beste an Ambar ist die große Art von Dateien, mit denen es arbeiten kann:

  • MS Office-Dateiformate (.docx, .xlsx usw.), einschließlich PowerPoint, Visio und Publisher!
  • OpenOffice-Dateiformate
  • PDF-Dokumente mit automatischer OCR zum Extrahieren von Informationen.
  • Bilder
  • E-Mail-Archivformate wie PST (Hallo, Outlook-Benutzer!)
  • E-Mail-Nachrichten mit Anhängen

Die Leckereien enden auch hier nicht. Ambar kann mit großen Dateien (über 30 MB), ZIP-Archiven und Multithreading für volle CPU-Auslastung und schnellere Ergebnisse arbeiten. Wenn Sie also jahrelange Dokumente auf einer Festplatte auf einem vergessenen Server liegen haben, ist es an der Zeit, sie zurückzubringen und Ambar mit allem zu versorgen!

Fazit

Suche 🔎 ist leistungsfähig, Suche ist magisch und Suche ist überall!

Es könnte sogar schwarze Magie sein, aber heute gibt es keinen Grund, warum nicht jeder (natürlich mit etwas Entwicklerhilfe) davon profitieren kann. Von Unternehmen über Einzelpersonen bis hin zu Regierungen bieten die Suchmaschinen in dieser Liste ein nahezu müheloses Angebot mit exponentiellen Vorteilen und Auswirkungen.

Holen Sie sich einen Cloud-Server und installieren Sie die oben aufgeführte Suchsoftware, die Sie gerne erleben möchten.