【问题标题】:Sunspot Solr Autocomplete not working Ruby on Rails 3.2.3Sunspot Solr 自动完成功能不工作 Ruby on Rails 3.2.3
【发布时间】:2012-07-13 10:40:09
【问题描述】:

我需要帮助在我的 Solr 搜索栏上使用自动完成功能。 我,使用这个https://github.com/xponrails/sunspot_autocomplete

按照步骤操作,但它不起作用。

我卡在我的搜索栏 - 我如何将它添加到它,同时保留参数 [:search]

其他人也遇到了同样的问题,但删除了他们的代码以使其正常工作。

*它是否与 jquery-ui 自动完成有关? 或者是否必须以某种方式安装插件 - 我不确定我是否正确安装了它。

谢谢你=)

【问题讨论】:

  • 你有没有想过这个问题?我有问题。我可以让所有内容都显示出来,所有文件都已加载,应用程序已加载,我重新启动了所有内容……但是当我在框中键入时,什么也没有发生。 Rails 服务器甚至没有对输入做出反应。

标签: ruby ruby-on-rails-3.2 sunspot-rails sunspot-solr


【解决方案1】:

请找到自动完成的步骤。我将举一个自动完成项目的示例。

第 1 步:创建一个自动完成的文本字段,例如

第 2 步:然后调用名为 auto_complete_for_item_name 的方法。

setp 3:在该方法中,从表中获取所有行并将其保存在名为 @items 的变量中。

第 4 步:然后使用此 @items 变量调用新方法。像 render :inline => ""

第 5 步:在该方法中放入这样的 content_tag("ul", items.uniq.join)

它将根据输入的键列出所有项目。

如果我错了,请纠正我..

感谢和问候,

维吉库马尔.M

【讨论】:

    【解决方案2】:

    我刚刚为我的项目尝试过,并且在这些步骤中效果很好

    1. 所有必要的 sunspot gems 都包含并安装了 (https://github.com/sunspot/sunspot/blob/master/README.md)
    2. 当然也安装了自动完成 gem(我使用的 git 路径 gem 'sunspot_autocomplete', ">= 0.0.3", :git => 'git://github.com/xponrails/sunspot_autocomplete.git' 与手册中建议的略有不同)
    3. 添加宝石后重新启动应用
    4. sunspot 生成的 solr schema.xml 已修改(所有必要的节点都已添加到块内 <schema name="sunspot" version="1.0"> <types> *here* </types> </fields> *and here* <fields> </schema>)
    5. 修改 schema.xml 后重启了 solr
    6. 检查它是否以正确的方式开始正常! xml(我的意思是指here
    7. 模型的searchable do; ...; end 块中的必要行已包含(它必须是文本字段和具有唯一名称的自动填充字段,以:using=&gt;:[text field name] 语法寻址到文本字段)
    8. searchable block 更改后重新索引模型
    9. 必要的 javascript 库包含在 application.js 中(我必须将所有 js 文件从 gem 复制到应用资产文件夹)
    10. 基本样式已包含在 application.css 中(与 js 文件相同)
    11. 需要预编译资产(如果您尝试让它在您的生产环境中工作)
    12. 正确的autocomplete_text_field 被添加到视图中(我不得不.html_safe 它,因为它被渲染为原始文本)
    13. 应用再次重启

    它成功了!

    但我猜你在其中的一个或多个步骤中遗漏了一些东西

    如果所有问题是如何将搜索字段添加到模板 - 你只需要添加这一行

    &lt;%= autocomplete_text_field("uniq", "field", "http://localhost:8982/solr/", "uniq_field") %&gt; - 假设您已将 autocomplete :uniq_field, :using =&gt; :field 编入索引并将其指向 solr 的实时版本 (http://localhost:8982/solr/)

    如果你与我分享一些代码,我可以指出你错过的东西

    干杯!

    【讨论】:

      猜你喜欢
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      相关资源
      最近更新 更多