我目前正在为我的 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
帖子中最流行和最频繁的属性的功能?