在我試圖通過相關性返回全文搜索結果時,我沒有得到期望的結果。下面是一個實際的輸出查詢示例:mysql fulltext布爾搜索 - 按相關性排序
SELECT *,
((9 * (MATCH(title) AGAINST ('"apple 8"' IN BOOLEAN MODE))) +
(8 * (MATCH(title) AGAINST ('+apple +8' IN BOOLEAN MODE))) +
(7 * (MATCH(title) AGAINST ('apple* 8 ' IN BOOLEAN MODE))) +
(6 * (MATCH(description) AGAINST ('"apple 8"' IN BOOLEAN MODE))) +
(5 * (MATCH(description) AGAINST ('+apple +8 apple* 8 ' IN BOOLEAN MODE)))) as relevance
FROM items
WHERE status='1'
AND ((MATCH(title, description) AGAINST ('"apple 8" +apple +8 apple* 8 ' IN BOOLEAN MODE)))
ORDER BY cat_featured DESC
, relevance DESC
我敢肯定,這可能是全亂了,但我已經嘗試了不同的設置和繼續得到同樣的結果......在這個例子中,含有「蘋果項目「標題中的」8「被返回55次結果中的第17次,而不是像我希望的那樣是第1次,因爲它是唯一具有標題中兩個術語的結果。我哪裏錯了?
我絕不是專家,但你可能想將你的全文搜索,而不是使用單獨的那些負載。我問了一個問題[這裏](http://stackoverflow.com/questions/5417792/normalise-mysql-fulltext-score),這可能有助於返回每一行的相關性。 – Bojangles
非常感謝您的幫助。不幸的是,你的問題並沒有讓我更清楚......我發現這個東西令人難以置信的混亂!我剛開始時只有兩組比賽(標題爲1,描述爲1),並且獲得了相同的輸出,所以我一直在玩弄它,試圖弄清楚如何操縱結果的順序。第一部分工作(精確匹配首先返回)。我不明白如何得到包含這兩個詞的結果。 – Jen
有很多東西讓我不知所措 - 你並不孤單。不幸的是,MySQL的更高級功能就是其中之一。 – Bojangles