J'ai un site qui répertorie les films. Naturellement, les gens font des erreurs d'orthographe lors de la recherche de films et, bien sûr, il y a le fait que certains films ont des apostrophes, utilisent des lettres pour épeler des chiffres dans le titre, etc. P>
Comment puis-je obtenir mon script de recherche pour négliger ces erreurs? Probablement besoin de quelque chose qui est un peu plus intelligent que Il a été suggéré que j'utilise un moteur de recherche complet, mais toutes ces choses ont l'air vraiment compliquée, et je pense que les construire dans ma candidature seront comme l'enfer sur Terre. Si je dois en utiliser un, quel est le moins invasif, cela sera le plus indolore à mettre en œuvre dans le code existant? P> où mov_title comme "% mot-clé%" code>. P>
3 Réponses :
Je pense que vous devrez mettre en place un moteur de recherche complet externetexte. MySQL n'est tout simplement pas bon dans la recherche Fulltext. Je dirais que vous devriez donner Lucene A Go ( tutoriels ). Zend Framework a une API qui se branche à Lucene, ce qui facilite la tâche. apprendre et utiliser. p>
Lucene a-t-elle une reconnaissance typographique intégrée? Qu'en est-il de SphinxSearch?
Oui, Lucene soutient les requêtes de recherche floues. L'algorithme est basé sur la distance de Levenshtein. L'API Java ressemble à ceci: Lucene.apache .org / java / 2_2_0 / API / org / Apache / Lucene / Search / ...
N'y a-t-il pas d'autre moyen sauf en utilisant Lucene?
Je n'ai utilisé ni php ni mysql, mais une alternative à la recherche de texte complète pourrait être Soundex Recherches < / a>. p>
MySQL par défaut prend en charge Sundex
Présumer que vous utilisez MySQL - MySQL n'a pas de fonctionnalité intégrée capable de le faire. P>
Cela signifie que vous devrez mettre en place une recherche en texte intégral vous-même ou utiliser un outil de recherche de texte complet tiers. P>