MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Volltextsuche vs. Lucene?

Ohne in ein langes Thema abzuschweifen, das wahrscheinlich nicht für ein Programmierforum geeignet wäre, werde ich versuchen, dies im Grunde zu behandeln, aber dennoch versuchen, die Punkte zu behandeln.

Das Wichtigste, was Sie bei einem umfassenden Vergleich beachten sollten, ist Folgendes:"Wie schneidet die Volltextsuche der relationalen Datenbank-Engine 'XYZ' im Vergleich zu Lucene ab" .

Wenn Sie das also bedenken und Erfahrung mit den eingebauten "Volltext"-Fähigkeiten dieser Produkte haben, dann sind das die Äpfel, die Sie sollten mit den "Volltext"-Äpfeln von MongoDB vergleichen.

Kurz gesagt, MongoDB bietet grundlegende Volltextfunktionen, die sich nicht wesentlich von denen unterscheiden, die in relationalen Produkten zu finden sind. Wie in a:) erwähnt , die Einrichtungen sind neu, aber besser als das, was vorher da war, was nichts war.

Auf b:) , Lucene und Derivate/Gegenstücke (Solr/ElasticSearch usw.) sollten als ganz andere Tiere betrachtet werden. Wo Sie brauchen fortgeschrittenes Tokening und Stemming, eingebaute Einrichtungen für "Mehr davon" und Facettenanzahl auf Suchen. In diesen Fällen ist das separate Produkt eine erforderliche Notwendigkeit.

Natürlich gibt es mehrere Lösungen für die Indizierung von Daten aus MongoDB-Speichern in Lucene usw., und selbst die Anpassung dieses Prozesses ist nicht schwierig. Aber es hält einen anderen beweglichen Teil in Ihrer Infrastruktur aufrecht.

Ich sehe das also nicht wirklich als Notwendigkeit für einen Vergleich MongoDB-Textsuche mit Lucene, weil letztendlich Sie existieren, um verschiedene Dinge zu tun, es ist nur eine Frage dessen, was Sie brauchen für Ihre Bewerbung. Wählen Sie die Lösung, die für Sie am besten geeignet ist.

Das Einzige, was hinzugefügt werden muss, ist, dass die Lucene- (und Derivate-) Familie großartige Produkte sind. Scheuen Sie sich nicht, sie zumindest zu bewerten. Die Punkte von vorher sind, dass es dort viel mehr Leistung gibt als bei jeder "Standard-Datenbank-Textsuche". Darüber hinaus sind die Verwaltungs- und Lernkurve im Allgemeinen "nicht so schwer, wie Sie denken". Probieren Sie es aus, es könnte sich lohnen, es zu implementieren.