2010-12-12 34 views
0

J'ai juste rencontré ce problème en utilisant la recherche fulltext de mysql. J'ai comme 250 dossiers (articles longs comme des trucs) et j'utilise le fulltext MATCH AGAINST IN BOOLEAN MODE. Maintenant, si je recherche un mot-clé, par exemple 'Samsung' et si ce mot-clé est présent dans TOUS les enregistrements alors il renvoie tous les 250 enregistrements qu'il devrait (bien sûr sans `IN BOOLEAN MODE il ne retournerait rien car le mot-clé est présent dans plus de 50% des enregistrements). Maintenant, le problème est que dans certains articles, le mot-clé «Samsung» apparaît une fois et dans d'autres à plusieurs reprises, mais MYSQL donne un score de 1 à tous les enregistrements retournés, même ceux qui ont «Samsung» comme 15 fois en eux.FULLTEXT Résultats non pertinents

Répondre

1
select ... 
where match(...) against('samsung' in boolean mode) 
order by match(...) against('samsung' with query expansion) desc; 
+1

Je pense que vous exécutez actuellement 2 requêtes en texte intégral ici, cela pourrait influer sur les performances – Xuni