tags:

views:

19

answers:

1

In my this query:

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 

when the record match the all keywords:' get back future 2',it return the right record.But with some partial keywords matched.such as only 'future' or '2',mysql return the record with '2' matched records in front of the records with 'future' keyword.Is it mean that mysql makes the digital number with higher priority than character or any other something.But I thought it was much better to get the records which were matched 'character keywords' first!

And I had Configured the "ft_min_word_len " to 1 for my personal usage.

thank you very much!!

A: 

Please refer link :

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

I hope it will help u in this query.

seed_of_tree
Yeah! I found a way to lower the record that contain the digital number: "~":A leading tilde acts as a negation operator, causing the word's contribution to the row's relevance to be negative. This is useful for marking “noise” words. A row containing such a word is rated lower than others, but is not excluded altogether, as it would be with the - operator.
qinHaiXiang
finally , I found: "> <" is much better!!These two operators are used to change a word's contribution to the relevance value that is assigned to a row. The > operator increases the contribution and the < operator decreases it. See the example following this list.
qinHaiXiang