我正在开发搜索引擎,我在查询中使用以下代码:
SELECT * FROM books WHERE MATCH(titulo, description) AGAINST ('mark the android' IN BOOLEAN MODE)
我得到了很多结果,但是我想在不连贯的结果之前以最佳结果订购它们。
我该如何完成?
谢谢
您想做的是删除IN BOOLEAN MODE
并按照MATCH ... AGAINST ...
订购,因为它返回了代表相关性的数字。
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