2009-08-10 41 views
1

我放在一起基於使用全文的文章未Zend公司的網站非常簡單的搜索引擎。我的理解是,如果一個關鍵詞的分數達到50%以上,這個數字就會下降。這很好,但我知道我的客戶不會喜歡它。我知道他們希望在搜索結果中顯示一些關鍵字。MySQL的全文搜索和得分沒有拉起結果

我的主要問題是,如果我搜索,讓我們說'房子',它不會拉起任何東西;但我們可以清楚地看到,它在各個地方都有條目。

這裏是我的腳本

$sql = " 
SELECT *, 
MATCH(title, content) AGAINST('$keyword') AS score 
FROM articles 
WHERE MATCH(title, content) AGAINST('$keyword') 
ORDER BY score DESC 
"; 

有沒有辦法來改變比分以獲取準確的wors更多的結果?如果是的話如何?

感謝

回答

0

比分是自動計算的,我不認爲你可以改變它。嘗試這樣做:

$sql = " 
SELECT *, 
MATCH(title, content) AGAINST('" . $keyword . "') AS score 
FROM articles 
WHERE MATCH(title, content) AGAINST('" . $keyword . "') 
ORDER BY score DESC 
"; 

$sql = " 
SELECT *, 
MATCH(title, content) AGAINST('" . $keyword . "' WITH QUERY EXPANSION) AS score 
FROM articles 
WHERE MATCH(title, content) AGAINST('" . $keyword . "' WITH QUERY EXPANSION) 
ORDER BY score DESC 
";