我有一個小問題(這就是我希望)與排名的全文搜索,我的搜索結果中的MySQL數據庫。有兩種方式我都試過寫它:全文搜索排名
自然的方式:
SELECT SQL_CALC_FOUND_ROWS *,
MATCH(productname,keywords) AGAINST('$cl_search') AS score
FROM products
WHERE MATCH(productname,keywords) AGAINST('$cl_search')
ORDER BY score DESC,lastupdated DESC;
布爾WAY:
SELECT SQL_CALC_FOUND_ROWS *,
((MATCH(productname) AGAINST('$cl_search' IN BOOLEAN MODE))+
(MATCH(keywords) AGAINST('\"$cl_search\"' IN BOOLEAN MODE))) AS score
FROM products
WHERE MATCH(productname,keywords) AGAINST('$cl_search')
ORDER BY score DESC,lastupdated DESC;
我喜歡索引我得到的,當我在自然語言模式中進行搜索,但我該怎麼辦防止進入即「包包包包包包」有人爲產品名稱,以獲得良好的搜索結果?
所以我寫了布爾方式來解決這個問題,但是1.它比較慢,而且我沒有得到像'比較字數'這樣的其他相關性索引。
關於如何獲得兩全其美的想法?