2010-10-27 7 views
0

Dans mon cette requête:Aide! la priorité du mot clé dans la recherche de texte intégral MySql!

SELECT *, MATCH(keywords) AGAINST ('get back future 2 ' IN BOOLEAN MODE) AS score FROM 
movie WHERE MATCH (keywords) AGAINST ('get back future 2 +movie' IN BOOLEAN MODE) HAVING 
score > 0 ORDER BY score DESC, in_cinema DESC 

lorsque l'enregistrement correspondant à tous les mots clés: les « get back avenir 2' , il renvoie le droit record.But avec quelques mots-clés partiels matched.such comme seul « futur » ou » 2 ', mysql retourne l'enregistrement avec' 2 'enregistrements appariés devant les enregistrements avec le mot clé' future '. Cela signifie-t-il que mysql fait le numéro numérique avec une priorité plus élevée que le caractère ou tout autre chose.Mais je pensais que c'était beaucoup mieux pour obtenir les enregistrements qui ont été appariés «mots-clés de caractères» en premier!

Et j'avais configuré le "ft_min_word_len" à 1 pour mon usage personnel.

merci beaucoup !!

Répondre

0

S'il vous plaît consulter le lien:

http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html

J'espère que cela vous aidera u dans cette requête.

+0

Ouais! J'ai trouvé un moyen de réduire l'enregistrement qui contient le nombre numérique: "~": Un tilde principal agit comme un opérateur de négation, ce qui rend la contribution du mot à la pertinence de la ligne négative. Ceci est utile pour marquer les mots "bruit". Une rangée contenant un tel mot est notée plus bas que les autres, mais n'est pas exclue complètement, comme ce serait le cas pour l'opérateur -. – qinHaiXiang

+0

enfin, j'ai trouvé: "><" c'est beaucoup mieux !! Ces deux opérateurs permettent de modifier la contribution d'un mot à la valeur de pertinence affectée à une ligne. L'opérateur> augmente la contribution et l'opérateur qinHaiXiang

Questions connexes