Ich versuche, eine Suchmaschine für meine Rezepte-Website mit Mongo db zu implementieren. Ich versuche, den Benutzern die Suchvorschläge in der Widget-Box "Tipp" anzuzeigen.mongodb approximate string matching
Ich versuche sogar, falsch geschriebene Abfragen (Levenshtein-Abstand) zu unterstützen.
Zum Beispiel: wenn Benutzer 'Pza' eingeben, sollte Typ-Ahead 'Pizza' als einer der Vorschläge anzeigen.
Wie kann ich solche Funktionalität mit mongodb implementieren?
Bitte beachten Sie, dass die Suche sofort erfolgen sollte, da das Suchergebnis vom Typ-Ahead-Widget abgerufen wird. Die Sammlungen, über die ich Suchanfragen ausführen würde, haben höchstens 1 Million Einträge.
Ich dachte, Levenshtein Distanzalgorithmus zu implementieren, aber dies würde die Leistung verlangsamen, da die Sammlung riesig ist.
Ich lese FTS (Volltextsuche) in Mongo 2.6 ist jetzt ziemlich stabil, aber meine Anforderung ist Ungefähre Übereinstimmung, nicht FTS. FTS wird 'Pza' nicht für 'Pizza' zurückgeben.
Bitte empfehlen Sie mir den effizienten Weg.
Ich verwende node js mongodb nativen Treiber.
Wenn Sie diese Art von Ergebnissen wirklich wollen, dann sind Sie wahrscheinlich am besten mit der Implementierung einer externen Suchmaschine Lösung, die es bereits OOTB macht. Die Textsuchfunktionen von MongoDB sind als "minimaler" Fall gedacht. Sie können Ihr Haupt-Repository immer in MongoDB behalten, und es gibt vorhandene Connector-Anweisungen für beliebte Produkte. –