如何为博客中的帖子实现“相关项目”功能?我想根据帖子标题的分析返回类似帖子的列表。
我自己的想法似乎效率很低,我想知道是否有工具已经支持此功能。我没有通过google、ruby toolbox找到任何帮助,我查看了sunspot api。您将如何在您的博客应用程序/内容网站中实现这一目标?
更新
对于那些对此功能感兴趣的人,我决定使用 sunspot,它允许我在我的 show
操作中使用它:
@find_related = Post.search do
fulltext params[:title]
end
这将返回相关帖子的数组:
@related = @find_related.results
感谢您的所有反馈和此railscast帮了很大的忙
最佳答案
当然有一些好的、高效的工具可以做到这一点!从技术上讲,您想要的是对帖子标题/其他数据的索引数据库进行全文搜索。我们有运行外部数据库的工具来处理所有搜索和索引。这些后端是通用的,而不是在 ruby 中,您只在应用程序中使用客户端逻辑。这非常有效,因为您可能无法实现除现有算法之外的任何其他算法。我会推荐以下内容:
- ThinkingSphinx - Sphinx 的包装
- elastic search - Lucene 的包装
- sunspot - Solr 的包装
这些库提供了与上述搜索引擎进行数据交换的客户端逻辑(均来自 Apache 基金会)
关于ruby-on-rails - ruby 中的 "Related Items",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9382757/