這個查詢有什麼問題嗎?這個有時有時候,有時候不會。例如,用'七'這個詞它沒有返回任何分數,但我知道它出現在29行至少在體內,然而它返回爲分數0.反對不返回分數
換句話說它工作正常,但沒有這個。任何人都知道爲什麼或有不同的解決方案按相關性排序?
SELECT *,
((MATCH(articles.name) AGAINST('seven'))*5 +
(MATCH(articles.subtitle) AGAINST('seven'))*3 +
(MATCH(articles.body) AGAINST('seven'))) AS search_score
FROM articles
LEFT JOIN matches ON articles.match=matches.id
ORDER BY search_score DESC
編輯:我注意到'七'是一個停止詞。還有其他方法可以做到這一點? stopwords
你檢查每一個單獨? SQL不能很好地添加NULL ... – 2011-05-06 18:53:08