mysql - 按相关性和 View 排序

标签 mysql relevance

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

例如,如果我搜索“狗”

并且我的结果都与“狗”具有相同级别的相关性,那么我希望它按 View 对它们进行排序。

这是到目前为止我的 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

最佳答案

articles中创建views字段,在查看记录时递增该字段(updatearticlessetviews=views+1whereid=... code>,然后将其添加到 order by 子句中:

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

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

关于mysql - 按相关性和 View 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2056651/

相关文章:

mysql - 使用node.js将数据从html表单发送到mysql表

MySQL - 为每个重复值获取一个计数器

search - 如何编写 Solr FunctionQuery 来增强包含 future 日期的文档?

mysql - MySQL 中 MATCH ('...' IN NATURAL LANGUAGE MODE) 的最大可能取值范围是多少?

php - 如何让mysql在全文检索时自动加粗匹配的单词

java - CREATE TABLE 不影响 JBDC

mysql - 在不同的列中显示一列的mysql结果

regex - 如何检查正则表达式的相关性?

php - 在我的网站中创建类似 Facebook 的搜索

PHP MySQL 按相关性搜索和排序