【发布时间】:2014-02-17 16:19:28
【问题描述】:
我目前正在为我的 Rails 应用程序实施 Trending Topics。
我目前拥有的是这样的:
每个帖子都有topic 属性,包含 2 到 3 个单词来描述其主题。
然后我会根据他们的观看次数获得最热门的帖子(我也有喜欢和收藏的帖子,但暂时只使用观看次数):
def trending_topics
Post.order("COALESCE(impressions_count, 0) DESC").limit(200)
end
然后我所做的就是只选择独特的主题并显示其中的一些:
<% trending_topics.select(:topic).map(&:topic).uniq.take(10).each do |topic| %>
<li><%= topic %></li>
<% end %>
我的问题是:
- 有没有办法让出现频率最高的
:topic,对它们进行排名, 并从中挑选精华? - 这是跟踪热门话题的可持续方式吗?如果不, 有没有办法让它更有效率?
- 是否有更好的方法来实现搜索
帖子中最受欢迎和最常见的
:topic属性?
【问题讨论】:
标签: ruby-on-rails database activerecord ruby-on-rails-4 trending