2009-10-10 5 views
2

Comment puis-je effectuer une recherche similaire à celle de Wikipedia sur une table MySQL (ou plusieurs tables à la fois) sans ramper d'abord la base de données? (Recherche sur wikipedia utilisé pour vous montrer la pertinence en pourcentage).Comment effectuer une recherche sur la table MySQL pour un site Web

Ce que je cherche ici est de savoir comment déterminer la pertinence des résultats et de les trier en conséquence, en particulier dans le cas où vous tirez des données de plusieurs tables à la fois.

Qu'est-ce que vous utilisez pour la fonction de recherche sur vos sites Web?

Répondre

2

Vous pouvez utiliser MySQL de full-text search functionality. Vous devez avoir un index FULLTEXT sur les champs à rechercher. Pour natural language searches, il renvoie une valeur de pertinence qui est "une mesure de similarité entre la chaîne de recherche et le texte de cette ligne".

Si vous recherchez plusieurs tables, la valeur de pertinence devrait être comparable entre les ensembles de résultats; vous pouvez faire UNION de requêtes individuelles en texte intégral sur chacune des tables, puis trier les résultats de l'union en fonction de la valeur de pertinence.

Questions connexes