mongodb approximative de la correspondance de chaîne

Je suis en train de mettre en œuvre un moteur de recherche pour mes recettes de cuisine-site web à l'aide de mongo db.
J'essaie d'afficher les suggestions de recherche dans le type-ahead widget boîte aux utilisateurs.

J'en suis encore à essayer de soutenir mal orthographié requêtes(levenshtein).

Par exemple: chaque fois que les utilisateurs de type "pza', type-ahead doit afficher "pizza" comme l'un de la suggestion.

Comment puis-je mettre en œuvre ces fonctionnalités à l'aide de mongodb?

Veuillez noter que la recherche doit être instantanée, depuis le résultat de la recherche seront récupérées par type-ahead widget. Les collections sur lesquelles je voudrais effectuer des requêtes de recherche ont à plus de 1 million d'entrées.

J'ai pensé à la mise en œuvre de levenshtein algorithme, mais ce serait de ralentir les performances, comme la collection est énorme.

J'ai lu FTS(Recherche Plein Texte) de mongo 2.6 est assez stable maintenant, mais mon exigence est Approximative match, pas de FTS. FTS ne sera pas de retour 'pza" pour "pizza".

Veuillez me recommander la façon efficace.

Je suis l'aide d'un noeud js mongodb pilote natif.

  • Si vous voulez vraiment ce genre de résultats, alors vous êtes probablement mieux de la mise en œuvre d'un moteur de recherche externe, la solution qui en fait déjà il OOTB. Les fonctions de recherche de texte de MongoDB sont destinés à être un "minimum" de cas. Vous pouvez toujours garder votre dépôt principal dans MongoDB, et il y a, connecteur instructions pour les produits les plus populaires.
  • Juste un lien pratique pour Levenshtein pour ceux d'entre vous qui sont nouveaux dans le concept: people.cs.pitt.edu/~kirk/cs1501/Pruhs/Spring2006/missions/...
InformationsquelleAutor ritesh_NITW | 2015-01-16