【问题标题】:Advice with Full Text Search Engine in Rails在 Rails 中使用全文搜索引擎的建议
【发布时间】:2012-11-21 21:34:32
【问题描述】:

我正在尝试向我的网站添加一个搜索栏,例如 Facebook 上的搜索栏。我希望我的用户能够搜索我的产品、我的其他用户……但我也希望无需按下按钮即可实时显示结果。我目前正在考虑几种选择(thinking-sphinx、雪貂、...),但我不确定该使用哪一种,这就是为什么我想从专业人士那里获得建议;)

所以我的要求是:

  • 结果实时显示在当前页面的框中。
  • Css 可定制
  • 能够在我的 PostGreSQL DB 中搜索多个表。
  • 我目前正在使用 Heroku 进行生产。

我想根据自己的需要选择最好的,这就是为什么我要征求您的意见。 提前致谢!

【问题讨论】:

    标签: ruby-on-rails full-text-search search-engine thinking-sphinx acts-as-ferret


    【解决方案1】:

    确保将您希望数据的显示方式(前两个要求)与您希望它的索引方式(第三个)与您希望部署的方式分开。

    让我们倒退。 Heroku 对机器配置提供有限的支持;您提到的两个选项都需要安装读取和写入文件的服务。 Heroku 在两个方面提供了这样的选项:1) PostgreSQL 具有内置的全文搜索功能,以及 2) Heroku 使 Flying Sphinx 以及these other options documented on the Heroku site 成为一个选项。前两个选项可能为您的数据库提供最简单的链接,但我还没有尝试过其他选项,所以他们也可能这样做。所以现在你已经部署了一个搜索索引。

    实时“增量”搜索纯粹是一个演示问题......也许还有性能问题。开始输入并开始获取结果只不过是通过 AJAX 向搜索服务器发送请求,通常是在输入的短暂延迟(可能是 50 毫秒)和处理结果的显示之后。有几种方法可以让这个简单written up here in this SO answer

    【讨论】:

    • 所以使用 Flying Sphinx 应该是最好的选择,在它之上添加和自动完成 js 将是这样做的方法吗?谢谢
    • 我想这就是我要走的路。 Sphinx 非常强大,虽然我没有使用过 FlyingSphinx,但很可能它只是一个像 ThinkingSphinx 这样的包装器。 PostgreSQL 全文索引没有那么丰富,但如果您想要的一切都在您的数据库中,那么肯定没有什么比这更容易的了。然后是的,在顶部添加任何自动完成 JS。完成它,它的工作;-)
    【解决方案2】:

    我最终暂时保留了 PostgreSQL 引擎,但使用 select2 作为演示文稿的 jquery,并且能够获得类似 facebook 的搜索框:

    Select2 with Rails and JSON

    感谢您的帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      • 2010-12-25
      • 1970-01-01
      • 2021-01-24
      • 2010-09-25
      • 1970-01-01
      相关资源
      最近更新 更多