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

Suchen in mongo db mit mongoose regex vs. text

Nun, sowohl die Regex- als auch die Textsuche ($text) helfen Ihnen, sehr effizient im Text zu suchen. Beide haben ihre eigenen Vor- und Nachteile, aber es gibt zwei klare Unterschiede

Regex

  • Regex nutzt keine Indizes, es sei denn, Sie suchen am Anfang der Zeichenfolge mit ^ Betreiber.

  • Mit Regex können Sie Teiltext durchsuchen. daher .* und so viele andere Muster.

  • Regex unterstützt keine Stopp- oder Füllwörter.

$text

Textindizes in Mongodb sind sehr schnell und sollten bevorzugt werden. MongoDB implementiert jedoch keine vollwertigen Textindizes. Ein Hauptnachteil ist, dass es keine teilweise Übereinstimmung unterstützt. z.B. Wenn Sie nach Katze suchen, wird nur nach Katze und Katzen gesucht, aber nicht nach Rotluchs oder Raupe.

Fazit ist, wenn Sie Funktionen wie RDBMS like implementieren möchten Operator, '$text' wird Ihnen nicht helfen (zumindest in aktuellen Implementierungen von MongoDB, aber in Zukunft kann es sich ändern).