ruby on rails - Aplicación Rails: Solr tirando RSolr:: Error:: Http-404 No encontrado al ejecutar la búsqueda
ruby-on-rails ruby-on-rails-3 (7)
Estoy muy perdido ya que no he hecho ningún cambio en mi búsqueda que siempre ha estado funcionando, pero de alguna manera tengo un descanso. Al ser relativamente nuevo en Rails, el resultado del error no me proporciona los detalles suficientes para la depuración.
Código relevante a continuación: pregunte si desea ver algo más.
home.html.slim (extracto con formulario de búsqueda)
= form_tag search_venues_path, method: :get, id: ''search'' do |f|
.search-fields.span16
p = text_field_tag :q, '''', placeholder: "Search for coffee, hotel, etc", class: ''span7 search-field''
p = text_field_tag :zip, '''', placeholder: "Zip code or city name", class: ''span4 search-field''
p = submit_tag "Find it", class: "btn-main span4"
br
= hidden_field_tag :latitude, ''''
= hidden_field_tag :longitude, ''''
p.current_location.hidden.offset1
a Use my current location
VenuesController.rb (extracto con la función de búsqueda)
def search
if params[:zip].blank? && params[:latitude].blank?
flash[:notice] = ''You must include a location to search.''
return redirect_to(root_path)
end
@venues = VenueSearch.search(params)
#@json = Venue.all.to_gmaps4rails
end
VenueSearch.rb
def self.search(params)
if params[:zip].present?
logger.info "The zip code is present"
logger.debug(Geocoder.coordinates(params[:zip]))
lat, long = Geocoder.coordinates(params[:zip])
else
lat = params[:latitude]
long = params[:longitude]
end
fake_distance = 20 * 0.6214 # 1.5 miles
Venue.search(include: [:venue_category, :venue_subcategory]) do
fulltext params[:q].gsub(/[^/s/w]/, ''''), minimum_match: 2 do
boost_fields name: 5.0, name_without_punc: 5.0, category: 3.5, subcategory: 3.5, tags: 4.0
end
paginate page: params[:page]
order_by_geodist :location, lat, long
with(:location).in_radius(lat, long, fake_distance)
end
end
Error, rastro completo
rsolr (1.0.9) lib/rsolr/client.rb:268:in `adapt_response''
rsolr (1.0.9) lib/rsolr/client.rb:175:in `execute''
rsolr (1.0.9) lib/rsolr/client.rb:161:in `send_and_receive''
sunspot_rails (2.1.0) lib/sunspot/rails/solr_instrumentation.rb:16:in `block in send_and_receive_with_as_instrumentation''
activesupport (3.2.2) lib/active_support/notifications.rb:123:in `block in instrument''
activesupport (3.2.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument''
activesupport (3.2.2) lib/active_support/notifications.rb:123:in `instrument''
sunspot_rails (2.1.0) lib/sunspot/rails/solr_instrumentation.rb:15:in `send_and_receive_with_as_instrumentation''
(eval):2:in `post''
sunspot (2.1.0) lib/sunspot/search/abstract_search.rb:45:in `execute''
sunspot_rails (2.1.0) lib/sunspot/rails/searchable.rb:344:in `solr_execute_search''
sunspot_rails (2.1.0) lib/sunspot/rails/searchable.rb:158:in `solr_search''
app/models/venue_search.rb:14:in `search''
app/controllers/venues_controller.rb:12:in `search''
actionpack (3.2.2) lib/action_controller/metal/implicit_render.rb:4:in `send_action''
actionpack (3.2.2) lib/abstract_controller/base.rb:167:in `process_action''
actionpack (3.2.2) lib/action_controller/metal/rendering.rb:10:in `process_action''
actionpack (3.2.2) lib/abstract_controller/callbacks.rb:18:in `block in process_action''
activesupport (3.2.2) lib/active_support/callbacks.rb:426:in `block in _run__2118553356002381387__process_action__2728035982816219113__callbacks''
activesupport (3.2.2) lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_941''
activesupport (3.2.2) lib/active_support/callbacks.rb:326:in `around''
activesupport (3.2.2) lib/active_support/callbacks.rb:310:in `_callback_around_13''
activesupport (3.2.2) lib/active_support/callbacks.rb:214:in `_conditional_callback_around_941''
activesupport (3.2.2) lib/active_support/callbacks.rb:414:in `_run__2118553356002381387__process_action__2728035982816219113__callbacks''
activesupport (3.2.2) lib/active_support/callbacks.rb:405:in `__run_callback''
activesupport (3.2.2) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks''
activesupport (3.2.2) lib/active_support/callbacks.rb:81:in `run_callbacks''
actionpack (3.2.2) lib/abstract_controller/callbacks.rb:17:in `process_action''
actionpack (3.2.2) lib/action_controller/metal/rescue.rb:29:in `process_action''
actionpack (3.2.2) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action''
activesupport (3.2.2) lib/active_support/notifications.rb:123:in `block in instrument''
activesupport (3.2.2) lib/active_support/notifications/instrumenter.rb:20:in `instrument''
activesupport (3.2.2) lib/active_support/notifications.rb:123:in `instrument''
actionpack (3.2.2) lib/action_controller/metal/instrumentation.rb:29:in `process_action''
actionpack (3.2.2) lib/action_controller/metal/params_wrapper.rb:205:in `process_action''
activerecord (3.2.2) lib/active_record/railties/controller_runtime.rb:18:in `process_action''
actionpack (3.2.2) lib/abstract_controller/base.rb:121:in `process''
actionpack (3.2.2) lib/abstract_controller/rendering.rb:45:in `process''
actionpack (3.2.2) lib/action_controller/metal.rb:203:in `dispatch''
actionpack (3.2.2) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch''
actionpack (3.2.2) lib/action_controller/metal.rb:246:in `block in action''
actionpack (3.2.2) lib/action_dispatch/routing/route_set.rb:67:in `call''
actionpack (3.2.2) lib/action_dispatch/routing/route_set.rb:67:in `dispatch''
actionpack (3.2.2) lib/action_dispatch/routing/route_set.rb:30:in `call''
journey (1.0.4) lib/journey/router.rb:68:in `block in call''
journey (1.0.4) lib/journey/router.rb:56:in `each''
journey (1.0.4) lib/journey/router.rb:56:in `call''
actionpack (3.2.2) lib/action_dispatch/routing/route_set.rb:594:in `call''
omniauth (1.1.4) lib/omniauth/strategy.rb:184:in `call!''
omniauth (1.1.4) lib/omniauth/strategy.rb:164:in `call''
warden (1.2.3) lib/warden/manager.rb:35:in `block in call''
warden (1.2.3) lib/warden/manager.rb:34:in `catch''
warden (1.2.3) lib/warden/manager.rb:34:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call''
rack (1.4.5) lib/rack/etag.rb:23:in `call''
rack (1.4.5) lib/rack/conditionalget.rb:25:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/head.rb:14:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/params_parser.rb:21:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/flash.rb:242:in `call''
rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context''
rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/cookies.rb:338:in `call''
activerecord (3.2.2) lib/active_record/query_cache.rb:64:in `call''
activerecord (3.2.2) lib/active_record/connection_adapters/abstract/connection_pool.rb:443:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call''
activesupport (3.2.2) lib/active_support/callbacks.rb:405:in `_run__1412551976247017377__call__2752945716229395531__callbacks''
activesupport (3.2.2) lib/active_support/callbacks.rb:405:in `__run_callback''
activesupport (3.2.2) lib/active_support/callbacks.rb:385:in `_run_call_callbacks''
activesupport (3.2.2) lib/active_support/callbacks.rb:81:in `run_callbacks''
actionpack (3.2.2) lib/action_dispatch/middleware/callbacks.rb:27:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/reloader.rb:65:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/remote_ip.rb:31:in `call''
airbrake (3.1.14) lib/airbrake/rails/middleware.rb:13:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call''
railties (3.2.2) lib/rails/rack/logger.rb:26:in `call_app''
railties (3.2.2) lib/rails/rack/logger.rb:16:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/request_id.rb:22:in `call''
rack (1.4.5) lib/rack/methodoverride.rb:21:in `call''
rack (1.4.5) lib/rack/runtime.rb:17:in `call''
activesupport (3.2.2) lib/active_support/cache/strategy/local_cache.rb:72:in `call''
rack (1.4.5) lib/rack/lock.rb:15:in `call''
actionpack (3.2.2) lib/action_dispatch/middleware/static.rb:61:in `call''
airbrake (3.1.14) lib/airbrake/user_informer.rb:16:in `_call''
airbrake (3.1.14) lib/airbrake/user_informer.rb:12:in `call''
railties (3.2.2) lib/rails/engine.rb:479:in `call''
railties (3.2.2) lib/rails/application.rb:220:in `call''
railties (3.2.2) lib/rails/railtie/configurable.rb:30:in `method_missing''
rack (1.4.5) lib/rack/deflater.rb:13:in `call''
rack (1.4.5) lib/rack/content_length.rb:14:in `call''
railties (3.2.2) lib/rails/rack/log_tailer.rb:14:in `call''
thin (1.6.1) lib/thin/connection.rb:82:in `block in pre_process''
thin (1.6.1) lib/thin/connection.rb:80:in `catch''
thin (1.6.1) lib/thin/connection.rb:80:in `pre_process''
thin (1.6.1) lib/thin/connection.rb:55:in `process''
thin (1.6.1) lib/thin/connection.rb:41:in `receive_data''
eventmachine (1.0.3) lib/eventmachine.rb:187:in `run_machine''
eventmachine (1.0.3) lib/eventmachine.rb:187:in `run''
thin (1.6.1) lib/thin/backends/base.rb:73:in `start''
thin (1.6.1) lib/thin/server.rb:162:in `start''
rack (1.4.5) lib/rack/handler/thin.rb:13:in `run''
rack (1.4.5) lib/rack/server.rb:268:in `start''
railties (3.2.2) lib/rails/commands/server.rb:70:in `start''
railties (3.2.2) lib/rails/commands.rb:55:in `block in <top (required)>''
railties (3.2.2) lib/rails/commands.rb:50:in `tap''
railties (3.2.2) lib/rails/commands.rb:50:in `<top (required)>''
script/rails:6:in `require''
script/rails:6:in `<main>''
Parámetros de solicitud
{"utf8"=>"✓",
"q"=>"grill",
"zip"=>"94107",
"commit"=>"Find it",
"latitude"=>"",
"longitude"=>""}
Sunspot.yml
development:
solr:
hostname: localhost
port: 8983
log_level: INFO
path: /solr/development
sunspot-solr-development.log
Nov 3, 2013 10:15:34 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init()
Nov 3, 2013 10:15:34 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: JNDI not configured for solr (NoInitialContextEx)
Nov 3, 2013 10:15:34 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: using system property solr.solr.home: /Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr
Nov 3, 2013 10:15:34 PM org.apache.solr.core.CoreContainer$Initializer initialize
INFO: looking for solr.xml: /Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr/solr.xml
Nov 3, 2013 10:15:34 PM org.apache.solr.core.CoreContainer <init>
INFO: New CoreContainer 1884473012
Nov 3, 2013 10:15:34 PM org.apache.solr.core.CoreContainer$Initializer initialize
INFO: no solr.xml file found - using default
Nov 3, 2013 10:15:34 PM org.apache.solr.core.CoreContainer load
INFO: Loading CoreContainer using Solr Home: ''/Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr/''
Nov 3, 2013 10:15:34 PM org.apache.solr.core.SolrResourceLoader <init>
INFO: new SolrResourceLoader for directory: ''/Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr/''
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting socketTimeout to: 0
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting urlScheme to: http://
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting connTimeout to: 0
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting maxConnectionsPerHost to: 20
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting corePoolSize to: 0
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting maximumPoolSize to: 2147483647
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting maxThreadIdleTime to: 5
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting sizeOfQueue to: -1
Nov 3, 2013 10:15:34 PM org.apache.solr.handler.component.HttpShardHandlerFactory getParameter
INFO: Setting fairnessPolicy to: false
Nov 3, 2013 10:15:34 PM org.apache.solr.client.solrj.impl.HttpClientUtil createClient
INFO: Creating new http client, config:maxConnectionsPerHost=20&maxConnections=10000&socketTimeout=0&connTimeout=0&retry=false
Nov 3, 2013 10:15:35 PM org.apache.solr.core.CoreContainer load
INFO: Registering Log Listener
Nov 3, 2013 10:15:35 PM org.apache.solr.core.CoreContainer create
INFO: Creating SolrCore ''collection1'' using instanceDir: /Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr/collection1
Nov 3, 2013 10:15:35 PM org.apache.solr.core.SolrResourceLoader <init>
INFO: new SolrResourceLoader for directory: ''/Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr/collection1/''
Nov 3, 2013 10:15:35 PM org.apache.solr.core.CoreContainer recordAndThrow
SEVERE: Unable to create core: collection1
org.apache.solr.common.SolrException: Could not load config for solrconfig.xml
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:991)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1051)
at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:634)
at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:629)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.io.IOException: Can''t find resource ''solrconfig.xml'' in classpath or ''/Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr/collection1/conf/'', cwd=/Users/justin.raczak/.rvm/gems/ruby-1.9.3-p385/gems/sunspot_solr-2.1.0/solr
at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:318)
at org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:283)
at org.apache.solr.core.Config.<init>(Config.java:103)
at org.apache.solr.core.Config.<init>(Config.java:73)
at org.apache.solr.core.SolrConfig.<init>(SolrConfig.java:117)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:989)
... 11 more
Nov 3, 2013 10:15:35 PM org.apache.solr.common.SolrException log
SEVERE: null:org.apache.solr.common.SolrException: Unable to create core: collection1
at org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:1672)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1057)
at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:634)
at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:629)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.solr.common.SolrException: Could not load config for solrconfig.xml
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:991)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1051)
... 10 more
Caused by: java.io.IOException: Can''t find resource ''solrconfig.xml'' in classpath or ''/Users/justin.raczak/Desktop/Desktop-Content/crowdscore/solr/collection1/conf/'', cwd=/Users/justin.raczak/.rvm/gems/ruby-1.9.3-p385/gems/sunspot_solr-2.1.0/solr
at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:318)
at org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:283)
at org.apache.solr.core.Config.<init>(Config.java:103)
at org.apache.solr.core.Config.<init>(Config.java:73)
at org.apache.solr.core.SolrConfig.<init>(SolrConfig.java:117)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:989)
... 11 more
Nov 3, 2013 10:15:35 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: user.dir=/Users/justin.raczak/.rvm/gems/ruby-1.9.3-p385/gems/sunspot_solr-2.1.0/solr
Nov 3, 2013 10:15:35 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init() done
Nov 3, 2013 10:15:39 PM org.apache.solr.servlet.SolrDispatchFilter handleAdminRequest
INFO: [admin] webapp=null path=/admin/cores params={indexInfo=false&wt=json} status=0 QTime=37
Nov 3, 2013 10:36:58 PM org.apache.solr.servlet.SolrDispatchFilter handleAdminRequest
INFO: [admin] webapp=null path=/admin/cores params={indexInfo=false&wt=json} status=0 QTime=1
Me encontré con el mismo problema al actualizar a la mancha solar 2.1.0 de 2.0.0.
sunspot.yml
esto agregando la siguiente línea a sunspot.yml
(en config en mi aplicación Rails) en el development:
block (tal vez se necesita uno para test
y production
)
solr_home: solr
Entonces mi instalación de SOLR está bajo rails-app-dir/solr
y la configuración allí bajo conf
.
La solución de @Marko Taponen me funcionó por un tiempo, pero ahora estoy de regreso, porque este problema volvió a aparecer de nuevo, esta vez en mis pruebas de rpsec / capibara.
Esto es lo que me solucionó:
En la línea de comando:
bundle exec rake sunspot:solr:stop
Después de hacer esto, volví a hacer las pruebas y funcionó.
He estado buscando la respuesta a este problema para siempre y para comprender por qué la página de administración de SOLR se bloqueaba. Aquí está la solución para este problema al actualizar el solr de manchas solares de 2.0.0 a 2.1.0:
Agregue esta entrada a su sección de desarrollo de sunspot.yml: solr_home: solr como el ejemplo de follwoing ...
development:
solr:
hostname: localhost
port: 8982
log_level: INFO
path: /solr/development
solr_home: solr
Estos son los comandos de terminal que debe seguir para resolver sus problemas:
-
ps aux | grep solr
ps aux | grep solr
para obtener ID de proceso de solr -
sudo kill <ID>
,<ID>
es la ID que encontraste en 1 -
rm -r <path/to/solr>
, elimine el directorio de solr dentro de su proyecto para eliminar todos los índices anteriores -
RAILS_ENV=production bundle exec rake sunspot:solr:start
- Cambia la ruta a
/solr/default
dentro deconfig/sunspot.yml
-
RAILS_ENV=production bundle exec rake sunspot:solr:reindex
Bam! Problemas resueltos! Espero.
¿Alguien revisó el directorio ./solr con su proyecto?
Si es así, bórrelo, ejecute rails g sunspot_rails: instálelo y luego reinicie su servidor nuevamente.
Este me mordió dos veces ahora.
¡También compruebe si schema.xml se carga desde su archivo gem o desde su directorio de solr en la raíz de la aplicación! Es posible que termine cambiando schema.xml varias veces, pero se cargará el archivo incorrecto.
development:
solr:
hostname: localhost
port: 8982
log_level: INFO
path: /solr
auto_index_callback: after_commit
auto_remove_callback: after_commit