太阳黑子Solr自动完成不工作Ruby on Rails 3.2.3

时间:2012-07-13 14:48:36

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

我需要帮助在我的Solr搜索栏上启用自动填充功能。 是的,使用此https://github.com/xponrails/sunspot_autocomplete

按照步骤&它不起作用。

我被困在我的搜索栏 - 如何将其添加到其中,同时保留params [:search]

其他人遇到了同样的问题,但删除了使其运行的代码。

*是否必须纯粹使用jquery-ui自动完成功能? 或者有什么必须以某种方式安装插件 - 我不确定我是否正确安装它。

谢谢=)

2 个答案:

答案 0 :(得分:0)

我刚刚尝试了我的项目,并且这个步骤很好用

  1. 包含并安装了所有必需的sunspot宝石(https://github.com/sunspot/sunspot/blob/master/README.md
  2. 当然也安装了
  3. autocomplete gem(我使用了与手册中提出的不同的git路径gem 'sunspot_autocomplete', ">= 0.0.3", :git => 'git://github.com/xponrails/sunspot_autocomplete.git'
  4. 应用程序在添加宝石后重新启动
  5. 太阳黑子生成的solr schema.xml被修改(所有必要的节点都在块内添加  <schema name="sunspot" version="1.0"> <types> *here* </types> </fields> *and here* <fields> </schema>
  6. 在schema.xml修改后重新启动了solr
  7. 检查它是否正确无误! xml(我的意思是指向here
  8. 包含模型的searchable do; ...; end块中的必要行(必须是文本字段和autocompelte字段,其唯一名称使用:using=>:[text field name]语法发送到文本字段)
  9. {li>模型在searchable block更改后重新编制索引
  10. 必要的javascript库包含在application.js中(我必须将所有js文件从gem复制到app资源文件夹)
  11. 基本样式包含在application.css中(与js文件相同)
  12. 资产需要预编译(如果您尝试在生产环境中使用它)
  13. 正确autocomplete_text_field已添加到视图中(我必须.html_safe因为它已呈现为原始文本)
  14. app再次重启
  15. 它有效!

    但我想在一个或多个步骤中你错过了一些东西

    如果所有问题都是如何将搜索字段添加到模板 - 您只需添加此行

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

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

    喝彩!

答案 1 :(得分:0)

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

第1步:创建一个自动完整文字字段,例如&lt;%= text_field_with_auto_complete'item','name'%&gt;

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

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

步骤4:然后使用此@items变量调用新方法。像render:inline =&gt; “&lt;%= auto_complete_result @items,'name','med_item'%&gt;”

第5步:在那个方法中加上这样的content_tag(“ul”,items.uniq.join)

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

如果我错了,请纠正我。

谢谢&amp;的问候,

Viji Kumar.M