2012-03-14 13 views
8

Ok, tengo una aplicación de rieles simple y ahora estoy tratando de implementar las manchas solares para las capacidades de búsqueda. Sin embargo, después de generar el archivo de configuración con rails g sunspot_rails: instalar y después de haber iniciado el servidor y ha realizado el directorio de solr en mis rails app-dir y ejecuto bundle exec rake sunspot: solr: reindex I obtener la siguiente traza:No se puede reindexar con la aplicación de manchas solares/solr en rieles - Error: errores graves en la configuración del solr

[email protected]:~/railscode/calendar$ bundle exec rake sunspot:solr:reindex --trace 
** Invoke sunspot:solr:reindex (first_time) 
** Invoke sunspot:reindex (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Execute sunspot:reindex 
Skipping progress bar: for progress reporting, add gem 'progress_bar' to your Gemfile 
rake aborted! 
RSolr::Error::Http - 500 Internal Server Error 
Error: Severe errors in solr configuration. 

Check your log files for more detailed information on what may be wrong. 

If you want solr to continue after configuration errors, change: 

<abortOnConfigurationError>false</abortOnConfigurationError> 

in null 

------------------------------------------------------------- 

Request Data: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><delete><query>type:Event</query></delete>" 

Backtrace: /var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:230:in `adapt_response' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:167:in `execute' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:161:in `send_and_receive' 
(eval):2:in `post' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:67:in `update' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:131:in `delete_by_query' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/indexer.rb:55:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session.rb:181:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session.rb:181:in `each' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session.rb:181:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session_proxy/abstract_session_proxy.rb:11:in `remove_all' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:230:in `adapt_response' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:167:in `execute' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:161:in `send_and_receive' 
(eval):2:in `post' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:67:in `update' 
/var/lib/gems/1.8/gems/rsolr-1.0.7/lib/rsolr/client.rb:131:in `delete_by_query' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/indexer.rb:55:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session.rb:181:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session.rb:181:in `each' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session.rb:181:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/session_proxy/abstract_session_proxy.rb:11:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot.rb:464:in `remove_all' 
/var/lib/gems/1.8/gems/sunspot_rails-1.3.0/lib/sunspot/rails/searchable.rb:178:in `solr_remove_all_from_index' 
/var/lib/gems/1.8/gems/sunspot_rails-1.3.0/lib/sunspot/rails/searchable.rb:197:in `solr_reindex' 
/var/lib/gems/1.8/gems/sunspot_rails-1.3.0/lib/sunspot/rails/tasks.rb:54 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/class_set.rb:16:in `each' 
/var/lib/gems/1.8/gems/sunspot-1.3.0/lib/sunspot/class_set.rb:16:in `each' 
/var/lib/gems/1.8/gems/sunspot_rails-1.3.0/lib/sunspot/rails/tasks.rb:53 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `execute' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `invoke_with_call_chain' 
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `invoke_prerequisites' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `invoke_with_call_chain' 
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `run' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/var/lib/gems/1.8/gems/rake-0.9.2.2/bin/rake:33 
/var/lib/gems/1.8/bin/rake:19:in `load' 
/var/lib/gems/1.8/bin/rake:19 
Tasks: TOP => sunspot:solr:reindex => sunspot:reindex 

estoy especialmente curioso acerca de esto:

If you want solr to continue after configuration errors, change: 

<abortOnConfigurationError>false</abortOnConfigurationError> 

in null 

¿por qué diría en nulo? Otras publicaciones con el mismo problema que yo he especificado el solr/conf/solrconfig.xml, y también, cuando lo cambio a falso, no sucede nada más.

Si quito el bloque de búsqueda de mi modelo, no consigo cualquier error (pero supongo que es porque no trata de hacer cualquier cosa a continuación)

me he encontrado el archivo de configuración a través de una Validador XML, y dice que es un nombre de etiqueta de inicio incorrecto al 2 < -1 5 < -2 6 < 90%. Sin embargo, incluso si elimino las líneas que luego dan un XML válido, reinicio de solr y trato de reindexar, sigo recibiendo el mismo error.

Estoy empezando a desesperar aquí, por lo que cualquier ayuda es muy apreciada.

+0

Estoy frente a un problema similar ¿Alguna vez alrededor de solucionar este problema? Gracias por su ayuda. – Priyank

+0

Tengo este mismo problema. ¿Alguna vez resolviste? – shanemcd

Respuesta

10

que estaba teniendo un problema muy similar y lo resolvió por

  • detener todas Solr ejecuta procesos
  • eliminar la carpeta Solr
  • apagar/reiniciar el equipo
  • joya desinstalar todas las gemas relacionados
  • paquete instalar
  • iniciar solr
  • reindex Solr
+1

Simplemente eliminando el directorio ./solr (toda la carpeta, no solo el contenido) lo solucionó. – foz

+0

agregando los raíles paso generar sunspot_rails: instalar antes de iniciar solr, y mantener los viejos archivos solr en caso de que necesite alguna configuración anterior, su solución funcionó y me salvó!Gracias –

+0

Ah, también, no es necesario reiniciar la computadora en mi caso, al menos. –

4

me pasó a mí de vez en cuando .. en mi caso fue Solr (no mancha solar) tema

tratar de ir a

http://localhost:8982/solr/admin 

or http://localhost:8983/solr/admin 

or http://[your.domain]:8983/solr/admin 

(dependiendo del entorno que use)

a vea qué error tiene en el servidor web de Solr

vi el mensaje de error java y lo solucioné con solo borrar el directorio de índice y reiniciar solr

y comenzó a comportarse como se esperaba

espero que ayudó

2

o puede volver a instalar la gema. Esto funciona para mí

1

Más específicamente, descubrí la causa de mi problema, espero que esta ayuda alguna almas que se preguntan que paso

En primer lugar, he eliminado la carpeta de datos/Solr. Mala idea.Y esto causó los errores descritos por cakism.

Reiniciar, eliminar la carpeta solr, etc. no ayudará. Simplemente porque hay una instancia del servidor Solr ejecutándose y no se detendrá incluso con manchas solares: solr: detener. Tienes que matar a esa instancia por:

rake sunspot:solr:stop # stop server 
ps -A | grep solr  # you'll see the [PID] of the solr server 
kill [PID]    # replace with the [PID] from above to completely kill the solr instance 

Después de esto, se puede proceder con la eliminación de la carpeta Solr e iniciar el servidor de nuevo

2

Aquí está la forma fácil (no requiere jugar con gemas o reiniciar el ordenador):

rake sunspot:solr:stop 

Si ha modificado el esquema, copiar el contenido de site_root/solr/conf/schema.xml en el portapapeles

A continuación, borrar toda la carpeta Solr en site_root/solr

Ahora ejecute:

rake sunspot:solr:start 

Este comando creará y repoblar la carpeta Solr borrado.

Si copió schema.xml arriba, vuelva a abrir schema.xml, seleccione todo y copie el contenido de su portapapeles. Guarda el archivo.

Ahora ejecute:

bundle exec rake sunspot:solr:reindex 
0

que estaba enfrentando mismo tema, y ​​finalmente consiguió config/database.yml tiene nombre de base de datos incorrecta y, de lo que comprobé sunspot.yml, este archivo tiene también configuración errónea como ip dirección. Modifico ambos archivos de lo que comenzó a funcionar.

0

Para mí, había tanta dependencia con turn off/restart the computer (No se pudo reiniciar) y no funciona nada desde arriba (no estoy intentando reiniciar). Entonces, mi solución de trabajo fue

  1. Ir al directorio raíz de la aplicación.
  2. usando ps aux | grep solr encontrar Solr process ID
  3. proceso de Solr parada usando kill -9 4313 # para mí 4313 fue Solr identificador de proceso
  4. inicio Solr en la puesta en escena rake sunspot:solr:start RAILS_ENV=staging

  5. reindización Solr usando rake sunspot:solr:reindex RAILS_ENV=staging

Eso es todo.

N.B: Reemplazar medio ambiente según su necesidad

Cuestiones relacionadas