2010-10-27 104 views
0

在我這個查詢:幫助!關鍵字在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 

當記錄匹配的所有關鍵字:「回去未來2' ,它與某些局部關鍵字返回正確record.But matched.such因爲只有‘未來’或」 2'時,mysql會在'future'關鍵字的記錄前面以'2'匹配的記錄返回記錄。這意味着mysql使數字編號的優先級高於字符或其他任何東西。但我認爲它好得多首先獲得匹配「字符關鍵字」的記錄!

而且我爲我的個人使用配置了「ft_min_word_len」爲1。

非常感謝你!

回答

0

請參考鏈接:

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

我希望這將幫助ü在此查詢。

+0

是啊!我找到了一種降低包含數字編號的記錄的方法:「〜」:一個前導的代字符作爲否定運算符,導致該單詞對該行相關性的貢獻爲負值。這對標記「噪音」字很有用。包含這樣一個單詞的行被評爲低於其他單詞,但不會完全排除在外,因爲它將與 - 運算符一起排除。 – qinHaiXiang 2010-10-27 08:04:06

+0

終於,我發現:「><」好多了! 這兩個運算符用於更改單詞對分配給某行的相關性值的貢獻。 >運算符增加貢獻,<運算符減小它。請參閱此列表後面的示例。 – qinHaiXiang 2010-10-27 08:41:01