Heim  >  Artikel  >  Backend-Entwicklung  >  Wir haben uns trotz eines großen Nachteils für Meilisearch gegenüber anderen Suchmaschinen entschieden

Wir haben uns trotz eines großen Nachteils für Meilisearch gegenüber anderen Suchmaschinen entschieden

WBOY
WBOYOriginal
2024-07-29 07:20:23562Durchsuche

Lohnt es sich, Ressourcen in eine Suchmaschine eines Drittanbieters zu investieren? Hier sind unsere Gründe.

Wir arbeiten kontinuierlich daran, unser Produkt-Feedback von Hexmos Tag für Tag für die kommende Veröffentlichung zu verbessern.

Es kommen neue Funktionen und Seiten hinzu, die Benutzeroberfläche ändert sich, Fehler werden bemerkt und behoben und es finden viele Änderungen am Produkt statt. Während das Produkt wächst, wird uns klar, dass wir die Navigation im gesamten Produkt verbessern müssen.

Wir verfügen bereits über eine Seitenleiste und ein clientseitiges Suchpaket cmdk, um zu verschiedenen Bildschirmen zu navigieren. Es treten jedoch Schwierigkeiten auf, wenn wir nach verschiedenen Benutzerprofilen, Teams, Teamleistungen usw. suchen möchten, was uns dazu zwingt, ein besseres zu integrieren Suchmaschine eines Drittanbieters für Feedback.

Ein weiterer Grund für eine dedizierte Suchmaschine ist, dass wir andere Produkte in der Kette haben, wie zum Beispiel FeedZap, was in Zukunft komplexe Textsuchvorgänge erfordert.

In Anbetracht dessen planen wir, Anstrengungen in die Implementierung einer speziellen, leistungsstarken Suchmaschine zu investieren, die sich an unsere Anwendungsfälle und Ressourcenverfügbarkeit anpasst.

So wählen Sie die richtige Suchmaschine aus, die Ihren Anforderungen entspricht

Es gibt viele Suchmaschinen, darunter Open-Source-Suchmaschinen, serverlose, serverbasierte usw.
Bevor Sie sich auf die Suche nach der richtigen Lösung machen, ist es immer besser, eine Analyse Ihrer Anforderungen und Ihrer Infrastruktur durchzuführen, einschließlich aktueller und zukünftiger Bedürfnisse.

Bei einigen Produkten sind die durchsuchbaren Daten minimal, erfordern aber eine gute Suchfunktion mit minimalem Betrieb, können sich aber keinen dedizierten Server leisten.
Bei anderen Produkten ist der Datensatz größer, erfordert zusätzliche komplexe Suchvorgänge und verfügt über genügend Ressourcen, um eine dedizierte Suchmaschine zu laden.

Auf dieser Grundlage habe ich einige beliebte Suchmaschinen überprüft.

Sie benötigen eine angemessene Leistung, der Datensatz ist klein und Sie können sich keinen Server leisten

PostgreSQL-Volltextsuche

Wenn Sie PostgreSQL verwenden und keine andere indexbasierte Datenbank verwalten möchten, ist die PostgreSQL-Volltextsuche (PSFTS) eine gute Option. Es wird jedoch nicht für große Anwendungsfälle empfohlen, bei denen Sie Millionen von Transaktionen und eine umfangreiche Datenverwaltung abwickeln müssen.

Bleve

Bleve ist eine weitere Option, die Sie in Betracht ziehen sollten, wenn Ihr Projekt zum Go-Ökosystem gehört. Es wird empfohlen, wenn Sie sich nicht auf leistungsstarke serverbasierte Suchmaschinendienste verlassen können. Hier ist der Benchmark-Bericht über Bleve.

Tantivy

Tantivy ist in Rust geschrieben und eignet sich besonders für Rust-basierte Projekte. Es hat zahlreiche positive Rückmeldungen erhalten und ist eine gute Option, die man in Betracht ziehen sollte.
We Chose Meilisearch Over  Other Search Engines Despite a Major Drawback

Benötigen Sie leistungsstarke Leistung, einen großen Datensatz und können sich einen Server leisten

Benötigen Sie leistungsstarke Leistung, einen großen Datensatz und können sich einen Server leisten

Wenn Sie einen Server oder eine Cloud-Instanz besitzen und eine leistungsstarke, skalierbare Suchmaschine mit vollständiger Kontrolle benötigen, dann ist eine serverbasierte Option die richtige Wahl.

Unsere Überlegungen und Anforderungen haben uns dazu veranlasst, uns für eine serverbasierte Suchmaschine zu entscheiden. Wir verfügen über genügend Ressourcen, um es zu hosten, und es ist besser als serverlose Optionen für

  • Langzeitgebrauch
  • Skalierbarkeit
  • Zusätzliche Unterstützung für komplexe Suchvorgänge wie:
    • Facettensuche: Dies bedeutet, dass Sie beim Online-Einkauf möglicherweise nach „Laptops“ suchen und dann die Facettensuche verwenden, um die Ergebnisse einzugrenzen, indem Sie Filter wie „Preis unter 1000 US-Dollar“, „Marke: Apple“ und „RAM“ auswählen : 16 GB.“
    • Mehrfachsuche: Erwägen Sie eine Reise-Website, auf der Benutzer gleichzeitig nach Flügen, Hotels und Mietwagen suchen und die integrierten Ergebnisse anzeigen können.
    • Suchen während der Eingabe: Bietet Echtzeit-Suchergebnisse basierend auf jedem Tastendruck.
  • Gemeinsames Suchsystem für mehrere Produkte.

Nach ausführlicher Filterung haben wir es auf vier Optionen in dieser Kategorie eingegrenzt, wie zum Beispiel:

  1. Meilisearch
  2. Typesense
  3. PISA-Suche
  4. Mantikor

Hier ist ein Vergleich zwischen ihnen:

Criteria meiliSearch Typesense Pisa Search Manticore
Search-as-you-type yes yes No No
facet search yes yes No No
multiple schema/product support yes yes - yes
RAM usage for 224 MB disk:~305 MB RAM prmary index location is disk primary index location is RAM, for 100MB disk requires 300MB RAM - -
CPU Usage for 12 core machine it uses maximum 6 core github issues related to high cpu usage for 4vCPU handle 104 concurrent search/seconds - -
typo, synonyms handling yes yes - -

Wir haben PISA Search und Manticore herausgefiltert, da keines von beiden Funktionen für die Suche während der Eingabe und die Facettensuche bietet, die für unsere Anwendung erforderlich sind.

Lesen Sie den vollständigen Artikel hier weiter: https://journal.hexmos.com/we-chose-meilisearch-over-10-other-search-engines-despite-a-major-drawback/

Das obige ist der detaillierte Inhalt vonWir haben uns trotz eines großen Nachteils für Meilisearch gegenüber anderen Suchmaschinen entschieden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Fanout-Fanin-Muster in GoNächster Artikel:Fanout-Fanin-Muster in Go