【问题标题】:Rails 3 full-text search options (gems, plugins, etc)Rails 3 全文搜索选项(宝石、插件等)
【发布时间】:2011-02-17 10:59:13
【问题描述】:

我想知道是否有关于如何在 Rails 3 应用程序中最好地使用全文搜索的建议? Thinking Sphinx 和acts_as_ferret 还没有为Rails 3 更新,甚至像Searchlogic 这样的基本的activerecord 搜索助手也还没有。

有什么想法吗?您是否使用上述 gem 的任何已更新到 Rails 3 的分叉版本?

【问题讨论】:

  • 我确实找到了 meta_search,它类似于 searchlogic,使用范围来制定搜索结果。不过还是对全文感兴趣。您可以在这里查看 meta_search:github.com/ernie/meta_search
  • 现在好像一年后了,但感谢您的建议!最终选择 Thinking Sphinx,因为它在发布原始问题大约一个月后针对 Rails 3 进行了更新。

标签: ruby-on-rails full-text-search ruby-on-rails-3


【解决方案1】:

更新完成更改

我会选择Elasticsearch via Tire

  • 超级快
  • 可扩展
  • 可配置
  • 超级强大

这是开始学习的好资源:http://exploringelasticsearch.com/book/searching-data/the-query-dsl-and-the-search-api.html

【讨论】:

  • 链接现在“失效”了。
【解决方案2】:

对于没有外部依赖的解决方案,可以试试https://github.com/dougal/acts_as_indexed

【讨论】:

    【解决方案3】:

    我已经对acts_as_ferret 进行了分支和修改,以便与rails 3(ruby 1.8 和1.9)一起工作: https://github.com/brightchimp/acts_as_ferret

    3 个测试仍然失败,因此我建议运行它们以查看它们是否会影响您的应用(更像是这样,排序和分页(由于排序失败)。

    我有一个未完成的拉取请求,将更改合并回原始版本。同时,您可以通过在 gem 文件中指定 git repo 来使用我的分支:

    gem 'acts_as_ferret', :git => 'git://github.com/brightchimp/acts_as_ferret.git'
    

    acts_as_ferret gem 似乎不久前失宠了,但我仍然使用它。我不知道为什么,但值得考虑的是它是否是任何新应用的最佳选择。

    【讨论】:

      【解决方案4】:
      【解决方案5】:

      http://github.com/kannanr/acts_as_solr_reloaded

      我已经稍微修改了代码以使用 Rails 3...。

      让我知道它是否有效...

      【讨论】:

        【解决方案6】:

        Thinking Sphinx (ver. 2.x) 应该与 Rails 3 (http://freelancing-god.github.com/ts/en/rails3.html) 一起使用,并且官方存储库中有一个 Rails 3 分支。

        我刚刚开始在 Rails 3 项目中使用 Thinking sphinx,到目前为止,它似乎可以很好地用于基本搜索,尽管我在使用acts_as_taggable_on 时遇到了一些挑战。

        【讨论】:

        • 链接已失效。
        • 是的,反正不再需要单独的 Rails3 分支。看看:pat.github.io/thinking-sphinx
        • 谢谢,@Gnomet,您知道是否可以使用 Sphinx 搜索文件,例如保存在二进制类型字段中的数据库中的“MS Word”文档?
        【解决方案7】:

        Searchlogic 已更新为与 Rails3 一起使用,您可以在此处找到新版本:http://github.com/railsdog/searchlogic

        干杯

        【讨论】:

        • 糟糕,抱歉。 git://github.com/binarylogic/searchlogic.git 是旧版本。您需要从这里安装插件 git://github.com/railsdog/searchlogic.git
        • 但现在不是稳定版。您可以使用“or_conditions”分支来创建像“MyModel.title_or_text_like(text)”这样的查询。\
        【解决方案8】:

        查看太阳黑子的 Solr

        http://github.com/outoftime/sunspot

        【讨论】:

        • RailsCasts 上还有一个截屏视频。
        • Solr 是“工业级”解决方案。它可以处理数百万个索引文档,并且有无数的配置点。然而,这一切带来了一定程度的复杂性。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-16
        • 1970-01-01
        • 2012-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多