我想弄清楚如何将搜索添加到我的rails应用程序。我是全新的,所以走得很慢。我创建了一个博客并完成了相当多的自定义,包括添加一些AJAX,到目前为止我为自己感到自豪。我无法找到有关如何添加此功能的任何好教程。基本上我只想启用完整搜索来搜索我的帖子表。最简单的方法是什么?
答案 0 :(得分:6)
在Railscast上有一个很棒的Thinking Sphinx,这是我在其他提到的选项之上的最爱。这很快,很简单,而且是continually being developed。
还有SearchLogic,如果你真的不需要全文索引(你可能不需要博客),那就太棒了。还有一个Railscast。
答案 1 :(得分:5)
根据您使用的RDBMS,可能有一个内置的全文搜索解决方案。
否则,您可以查看使用 Apache Solr 进行全文搜索的Sunspot(以及Rails plugin)并且易于使用。特别是编写查询/搜索比使用标准acts_as_solr
插件更有趣。
修改哦,这是视觉人的screencast on Sunspot。
答案 2 :(得分:3)
我建议使用acts_as_solr插件。我刚刚开始使用Rails,这是我教授推荐的搜索索引插件。它包括插件中的SOLR搜索引擎。该站点包括安装和使用说明。
基本上,正如用法所示,您只需在要搜索的模型中包含acts_as_solr标记,然后指定模型中要为其搜索索引的哪些属性...这样您就可以了类似的东西:
class Post < ActiveRecord::Base
acts_as_solr :fields => [:post, :comments, :whatever]
为了搜索你会做类似......
Post.find_by_solr(query_string)
答案 3 :(得分:0)
最简单的方法是做这样的事情:
results = Post.find(:all,:conditions =&gt;“post_body LIKE'%#{search_string}%'”)
然而,这是非常有限的,因为它只会搜索您正在寻找的确切单词或短语(更不用说SQL注入的漏洞)。正如我所提到的,这是进行搜索的“最简单”方式,但绝对不是最好的方式。如果你想认真对待,我会考虑使用acts_as_solr。