Ok, então eu tenho um aplicativo de rails simples e agora estou tentando implementar o Sunspot para resources de pesquisa. No entanto, depois de gerar o arquivo de configuração com rails g sunspot_rails: install e depois que eu iniciei o servidor e ele fez o solr-dir no meu rails app-dir e eu rodei bundle exec rake sunspot: solr: reindex I obtenha o seguinte rastreio:
cakism@saraswati:~/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: false in null ------------------------------------------------------------- Request Data: "type:Event" 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
Estou especialmente curioso sobre isso:
If you want solr to continue after configuration errors, change: false in null
Por que diria em nulo? Outros posts com o mesmo problema que eu especifiquei o solr / conf / solrconfig.xml, e também, quando eu altero para false, nada mais acontece.
Se eu remover o bloco pesquisável do meu modelo, não receberei nenhum erro (mas suponho que seja porque ele não tenta fazer nada)
Eu executei o arquivo de configuração através de um validador de XML e ele diz que o nome da tag de início é ruim em 2 <-1 5 <-2 6 <90%. No entanto, mesmo se eu remover as linhas que, em seguida, fornece um XML válido, reinicie o solr e tente reindexar, ainda recebo o mesmo erro.
Estou começando a ficar desesperado aqui, então qualquer ajuda é muito apreciada!
Eu estava tendo um problema muito parecido e resolvi isso
aconteceu comigo ocasionalmente .. no meu caso foi problema solr (não mancha solar)
tente ir para
http://localhost:8982/solr/admin or http://localhost:8983/solr/admin or http://[your.domain]:8983/solr/admin
(dependendo do ambiente que você usa)
para ver o erro que você tem sob o servidor web solr
Eu vi a mensagem de erro java e corrigi-lo apenas com a exclusão do diretório de índice e reiniciar solr
e começou a se comportar como esperado
espero que tenha ajudado
ou você pode instalar novamente a gema. Isso funciona para mim.
Aqui está o caminho mais fácil ( não requer mexer com gemas ou reiniciar o computador ):
rake sunspot:solr:stop
Se você modificou o esquema, copie o conteúdo de site_root/solr/conf/schema.xml
para sua área de transferência
Em seguida, exclua toda a pasta solr em site_root/solr
Agora corra:
rake sunspot:solr:start
Este comando irá criar e preencher novamente a pasta solr apagada.
Se você copiou schema.xml acima, abra schema.xml novamente, selecione tudo e copie o conteúdo de sua área de transferência. Salve o arquivo.
Agora corra:
bundle exec rake sunspot:solr:reindex
Mais especificamente, eu descobri a causa do meu problema, espero que isso ajude as almas que estavam se perguntando o que aconteceu
Primeiro, apaguei a pasta solr / data. Péssima ideia. E isso causou os erros descritos pelo cakismo.
Reiniciar, excluir a pasta solr, etc. não ajudará. Simplesmente porque há uma instância do servidor Solr em execução e ele não será interrompido mesmo com o sunspot: solr: stop. Você tem que matar essa instância 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
Depois disso, você pode prosseguir com a exclusão da pasta solr e iniciar o servidor novamente
Eu estava enfrentando mesmo problema, e finalmente eu tenho config / database.yml tem nome de database errado e, do que eu verifiquei sunspot.yml, este arquivo também tem configuração errada como endereço IP. Eu modifico ambos os arquivos do que começar a trabalhar.
Para mim, havia tanta dependência com turn off/restart the computer
(não era possível reiniciar) e não funciona nada de cima (não estou tentando reiniciar). Então, minha solução de trabalho foi
ps aux | grep solr
ps aux | grep solr
encontrar process ID
solr kill -9 4313
# para mim 4313 foi solr process id iniciar solr na rake sunspot:solr:start RAILS_ENV=staging
re-indexar o solr usando o rake sunspot:solr:reindex RAILS_ENV=staging
É isso aí.
NB: Substitua o ambiente de acordo com sua necessidade