MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Recherche de texte intégral et partiel MongoDB

Comme dans MongoDB 3.4, la fonction de recherche de texte est conçue pour prendre en charge les recherches insensibles à la casse sur le contenu textuel avec des règles spécifiques à la langue pour les mots vides et les radicaux. Les règles de radicalisation pour les langues prises en charge sont basées sur des algorithmes standard qui gèrent généralement les verbes et les noms courants, mais ignorent les noms propres.

Il n'y a pas de prise en charge explicite des correspondances partielles ou approximatives, mais les termes qui découlent d'un résultat similaire peuvent sembler fonctionner comme tels. Par exemple :« goût », « goûts » et « de bon goût » sont tous issus de « goût ». Essayez la page de démonstration de Stemming Snowball pour expérimenter plus de mots et d'algorithmes de recherche de radical.

Vos résultats qui correspondent sont tous des variantes du même mot "LEONEL", et ne varient que par cas et diacritique. À moins que "LEONEL" ne puisse être réduit à quelque chose de plus court selon les règles de la langue sélectionnée, ce sont les seuls types de variantes qui correspondent.

Si vous voulez faire des correspondances partielles efficaces, vous devrez adopter une approche différente. Pour des idées utiles, voir :

  • Techniques efficaces pour la correspondance approximative et partielle dans MongoDB par John Page
  • Recherches efficaces de mots clés partiels par James Tan

Il existe une demande d'amélioration pertinente que vous pouvez consulter/voter dans le suivi des problèmes MongoDB :SERVER-15090 :Améliorer les index de texte pour prendre en charge la correspondance partielle des mots.