【问题标题】:Best auto complete/suggest for a search form in rails 3Rails 3 中的最佳自动完成/建议搜索表单
【发布时间】:2012-05-03 23:05:36
【问题描述】:

我有一个使用以下内容的 Rails 应用,

  • 导轨 3.1,
  • 红宝石 1.9.2,
  • mysql,
  • 狮身人面像搜索,
  • 将分页,
  • 思考狮身人面像,
  • 我选择不使用 gem 进行简单登录,所以没有设计,没有 授权逻辑。从头开始登录,使用 BCrypt 加密密码。
  • jQuery.

现在,这个应用程序只处理产品目录。 当我说产品目录时,不仅仅是一个简单的目录。它处理所有功能、类别、品牌。

在 2 个 mysql 表中列出的所有产品标题和功能上都有一个主文本搜索功能。标题和特点。搜索工作正常且相关。

我们决定在我们的应用中加入自动完成/自动提示功能。

问题:


  1. 我应该使用 gem 还是从头开始构建它?请说出你的理由

  2. 如果我应该使用一个 gem,使用哪一个,那个 gem 是最新的吗 并且有随时支持的论坛?

  3. 我们认为,在“标题”表上自动完成/建议会很好 与在“标题”和“标题”上添加自动完成/建议相比 “功能”表。你的cmets在那个?

  4. 这是什么,自动建议还是自动完成?


(比如,有 PAT ALLAN 和 BARRY HUNTER 思考 sphinx 和 sphinx 搜索,天哪!他们致力于支持让用户睡得安稳)

我详细说明了我的应用程序的元素,请指教!

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 autocomplete full-text-search sphinx thinking-sphinx


    【解决方案1】:

    jqueryui 是一个很好的资源。

    这是一个自动完成的演示,您可以查看源代码以了解如何在您的服务器上实现。 http://jqueryui.com/demos/autocomplete/

    javascript 将 term=TERM 发送到您的控制器。我的设置是这样的:

    def autocomplete
      @movies= Movie.select("id, title").where("title LIKE ?", "#{params[:term]}%").limit(20)
      @hash = []
      @movies.each do |movie|
        @hash << {"label" => movie.title, "id" => movie.id}
      end
      render :json => @hash
    end
    

    根据您认为合适的方式进行定制。

    【讨论】:

    • LIKE..?.. @Mike,安装 sphinx search man 速度惊人。感谢您的回答。那么众包/自动完成呢?
    • @beck03076 喜欢吗?执行 mysql 搜索以查找类似 params[:term} 的标题,其中 % 充当通配符。是的,认为 sphinx 很快,我喜欢它并且确实使用它,只是没有将它用于这个控制器。 crowdint 自动完成是完全相同的东西,它只是用一些辅助方法包装到一个 gem 中。我正在使用该 gem 进行自动完成,但在显示额外值时遇到了一些问题
    • 所以你是说.. 使用 this..jqueryui .. 不是众包 gem。对吗?
    • 不,如果你应该对众包宝石没问题。我只是懒得弄清楚如何使用 gem 来显示自定义数据,而且我想了解 jquery/javascript
    猜你喜欢
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多