简体   繁体   中英

Websolr + Heroku + sunspot_autocomplete with db:seed

I'm setting up my app on Heroku. Already installed the $20 websolr addon. Migrations already ran.

When running heroku rake db:seed I get the following error.

Any idea what is causing this?

$ 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)

The error message buried in that HTML response is unknown field 'dvd_title_as' .

Basically, the documents your app is sending to Solr aren't defined in the schema.xml . Likely you'll need to update your websolr index with your app's latest schema, which you can do by opening the dashboard with heroku addons:open websolr .

我建议去help.websolr.com并填写支持请求。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM