我正在Heroku上设置我的应用程序。已经安装了$ 20的Websolr插件。迁移已经运行。
运行heroku rake db:seed
时,我会收到以下错误。
任何想法是什么原因造成的?
$ heroku run rake db:seed
RSolr::Error::Http - 400 Bad Request
Error: <html><head><title>Apache Tomcat/6.0.28 - Error report</title><style><!--H1 {font- family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 400 - ERROR: [doc=Dvd 2] unknown field 'dvd_title_as'</h1><HR size="1" noshade="noshade"><p> <b>type</b> Status report</p><p><b>message</b> <u>ERROR: [doc=Dvd 2] unknown field 'dvd_title_as'</u></p><p><b>description</b> <u>The request sent by the client was syntactically incorrect (ERROR: [doc=Dvd 2] unknown field 'dvd_title_as').</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.28</h3></body></html>
Request Data: "<?xml version="1.0" encoding="UTF-8"?><add><doc><field name="id">Dvd 2</field><field name="type">Dvd</field><field name="type">ActiveRecord::Base</field><field name="class_name">Dvd</field><field name="featured_b">false</field><field name="dvd_title_as">100% Dirty Slut</field><field name="title_text">100% Dirty Slut</field><field name="studio_text">Cherry Boxxx</field></doc></add>"
Backtrace: /app/vendor/bundle/ruby/1.9.1/gems/rsolr-1.0.8/lib/rsolr/client.rb:230:in `adapt_response'
/app/vendor/bundle/ruby/1.9.1/gems/rsolr-1.0.8/lib/rsolr/client.rb:167:in `execute'
/app/vendor/bundle/ruby/1.9.1/gems/rsolr-1.0.8/lib/rsolr/client.rb:161:in `send_and_receive'
(eval):2:in `post'
/app/vendor/bundle/ruby/1.9.1/gems/rsolr-1.0.8/lib/rsolr/client.rb:67:in `update'
/app/vendor/bundle/ruby/1.9.1/gems/rsolr-1.0.8/lib/rsolr/client.rb:87:in `add'
/app/vendor/bundle/ruby/1.9.1/gems/sunspot-1.3.3/lib/sunspot/indexer.rb:101:in `add_documents'
/app/vendor/bundle/ruby/1.9.1/gems/sunspot-1.3.3/lib/sunspot/indexer.rb:26:in `add'
/app/vendor/bundle/ruby/1.9.1/gems/sunspot-1.3.3/lib/sunspot/session.rb:91:in `index'
/app/vendor/bundle/ruby/1.9.1/gems/sunspot-1.3.3/lib/sunspot/session_proxy/abstract_session_proxy.rb:11:in `index'
/app/vendor/bundle/ruby/1.9.1/gems/sunspot-1.3.3/lib/sunspot.rb:184:in `index'
Tasks: TOP => db:seed
(See full trace by running task with --trace)
埋在该html响应中的错误消息是 unknown field 'dvd_title_as'
。
基本上,您的应用程序发送给SOLR的文档未在schema.xml
中定义。您可能需要使用应用程序的最新架构来更新WebSOLR索引,您可以通过使用heroku addons:open websolr
打开仪表板。
我建议您提供帮助。websolr.com并填写支持请求。