【问题标题】:mysql - Order by relevance and viewsmysql - 按相关性和视图排序
【发布时间】:2011-01-04 15:02:08
【问题描述】:

我看到这里有很多“按相关性排序”的帖子...我已经解决了这部分问题...我想要实现的是搜索结果首先按相关性排序,然后按视图排序.

例如,如果我搜索“狗”

而且我的结果都与“狗”具有相同程度的相关性,然后我希望它按视图对它们进行排序。

到目前为止,这是我的 SQL - 如果您能想到更好的方法,请随意采用不同的方法。

select * from articles where match(title, description, tags)
  against ('dog' in boolean mode) ORDER BY match(title, description, tags)
  against ('dog' in boolean mode) DESC

【问题讨论】:

    标签: mysql relevance


    【解决方案1】:

    articles中创建views字段,查看记录时递增(update articles set views = views + 1 where id=...,然后添加到order by子句中:

    ...order by  match(...) against (...) desc, views desc
    

    如果你有日志表,你可以使用它们,但是 MySQL 不能很好地处理大日志表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-09
      • 2011-01-26
      • 2010-12-08
      • 2010-09-25
      • 2012-11-09
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多