2014-01-18 42 views
-2

搜索引擎排序我正在開發一個搜索引擎,我用下面的代碼爲我的查詢:PHP - 由最好的結果

SELECT * FROM books WHERE MATCH(titulo, description) AGAINST ('mark the android' IN BOOLEAN MODE) 

我得到很多的結果,但我想他們的最好的結果是什麼命令之前不太一致的結果。

我該如何做到這一點?

感謝

+0

的[MySQL的比賽(可能重複的)反對() - 爲了通過相關性和列?](http://stackoverflow.com/questions/6259647/mysql-match-against-order-by-relevance-and-column) –

+0

嗯,我得到的結果與包含單個單詞的書,但我會喜歡先獲得匹配儘可能多的單詞的第一個記錄。無論是否在任何欄目中 – Apalabrados

回答

0

你想要做的是放下由MATCH ... AGAINST ...IN BOOLEAN MODE和秩序,因爲它返回一個數字,表示相關性。

SELECT * FROM books 
WHERE MATCH(titulo, description) AGAINST ('mark the android') 
ORDER BY MATCH(titulo, description) AGAINST ('mark the android') DESC 

,如果你想看到的數字具有的數字是什麼樣的感覺,你可以簡單地選擇它太像這樣

SELECT *,MATCH(titulo, description) AGAINST ('mark the android') as relevancy FROM books 
WHERE MATCH(titulo, description) AGAINST ('mark the android') 
ORDER BY MATCH(titulo, description) AGAINST ('mark the android') DESC