【问题标题】:php mysql fulltext search order by relevancephp mysql全文搜索顺序按相关性
【发布时间】:2011-11-05 19:44:21
【问题描述】:

如何根据相关性进行php全文搜索排序?

SELECT * FROM table
WHERE MATCH (col1,col2,col3) 
AGAINST ('+$boolean' IN BOOLEAN MODE)
Order By relevance

我要设置相关性,先匹配col1, col2,再匹配col3,如果col1, col2匹配完了再上col3的话。

也许我应该设置一个百分比,例如具有 66% 相关性的 col1, col2 和具有 34% 相关性的 col3...

【问题讨论】:

标签: mysql full-text-search relevance


【解决方案1】:

你可以试试这样的:

SELECT *, (MATCH(col1, col2) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.66 + MATCH(col3) AGAINST('+$boolean' IN BOOLEAN MODE) * 0.34) AS relevance
FROM table
WHERE MATCH(col1, col2, col3) AGAINST ('+$boolean' IN BOOLEAN MODE)
ORDER BY relevance DESC

【讨论】:

    猜你喜欢
    • 2011-04-01
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    相关资源
    最近更新 更多