【问题标题】:sunspot solr undefined field type太阳黑子 solr 未定义的字段类型
【发布时间】:2011-08-18 08:45:33
【问题描述】:

我的太阳黑子和 solr 有问题。在开发中它像魅力一样工作,但在生产中我从我的 Rails 生产日志中得到以下错误:

RSolr::RequestError(Solr 响应:未定义的字段类型): app/controllers/search_controller.rb:7:in `index'

我猜它与 schema.xml 有关。但我对 solr 很陌生。那么有人可以帮帮我吗?

好的:
控制器

def index
 unless params[:q].blank?
  @search = Question.search do
    fulltext params[:q]
  end
  @results = @search.results

else
  @results = nil
end
@searchterm = params[:q]

结束

模型(问题)

...

searchable do
  text :title 
  text :content
end

【问题讨论】:

  • 显示您的型号和控制器代码,这些天我们都缺少操作系统水晶球 :)

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


【解决方案1】:

听起来您的生产 Solr 实例没有使用 Sunspot 的 schema.xml。

type 字段应该在 Sunspot 的标准schema.xml 中定义,它用于索引对象的模型名称,以便以后用于过滤搜索。看到一条错误消息指出 type 未定义,这对我来说意味着您使用的是 schema.xml 而不是 Sunspot 的。

您可能正在使用您在服务器上安装 Solr 的方法中的一些其他示例或默认配置集。如果可以,请详细说明您如何设置生产 Solr 服务器。

【讨论】:

  • 我遇到了同样的问题,我通过这种方法安装了 solr。 github.com/sunspot/sunspot/wiki/… 我真的必须将我的 conf 目录复制到 /usr/share/solr 吗?
【解决方案2】:

对于 Solr 4.7,将 schema.xml 和 solrconfig.xml 从 your_app/solr/conf 复制到 /opt/solr/solr/collection1(或任何您的 solr 路径),如果仍然无法正常工作,请确保您的 config/ sunspot.yml 类似于:

production:
  solr:
    hostname: localhost
    port: 8983
    log_level: WARNING
    path: /solr/collection1
    # read_timeout: 2
    # open_timeout: 0.5

建议从 solr web 界面创建另一个核心 (my_core),将 schema.xml 和 solrconfig.xml 复制到该文件夹​​并指向 /solr/my_core 的路径

【讨论】:

    【解决方案3】:

    确保在 schema.xml 中将字段类型设置为 required="true",否则重新索引将不会在索引数据中包含字段“type”。

    <field name="type" stored="true" type="string" multiValued="true" indexed="true" required="true" />
    

    【讨论】:

      【解决方案4】:

      对我来说,它在 Heroku 插件 Websolr 仪表板中,默认配置设置为 blacklight,我不得不将其更改为 sunspot。

      【讨论】:

      • 这个答案真的需要更深入,你能详细说明一下吗?
      • 如果您在 Heroku 和 sunspot gem 中使用 Websolr 插件,如果您进入 Websolr 插件仪表板,您只需单击配置选项卡中显示太阳黑子而不是黑光的按钮。不确定您还需要什么其他信息。
      • 好了,在动作之间使用 > 就可以了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 2014-03-29
      相关资源
      最近更新 更多