2012-03-14 12 views
8

Ok, więc mam prostą aplikację szyn i teraz próbuję wprowadzić plamę słoneczną dla możliwości wyszukiwania. Jednak po wygenerowaniu pliku konfiguracyjnego z szynami g sunspot_rails: zainstaluj i po uruchomieniu serwera, a utworzyłem solr-dir w moim katalogu rails-app i uruchamiam pakunek exec rake sunspot: solr: reindex I Pojawia się następujący ślad:Nie można ponownie przetestować aplikacji Sunspot/solr in rails - Błąd: Poważne błędy w konfiguracji 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 

jestem specjalnie ciekawy o tym:

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

<abortOnConfigurationError>false</abortOnConfigurationError> 

in null 

Dlaczego to powiedzieć w wartości null? Inne posty z tym samym problemem, co ja, podałem solr/conf/solrconfig.xml, a także, gdy zmienię go na false, nic więcej się nie dzieje.

Jeśli usunąć przeszukiwania przecznicę od mojego modelu, nie dostanę żadnego błędu (ale przypuszczam, że to dlatego, że nie stara się nic zrobić wtedy)

Zabrakło mi plik konfiguracyjny przez Walidator XML i informuje, że jest to niewłaściwa nazwa tagu startowego pod numerem 2 < -1 5 < -2 6 < 90%. Jednak, nawet jeśli usunę linie, które następnie daje prawidłowy XML, ponownie uruchom solr i spróbuj ponownie wyindeksować, nadal otrzymuję ten sam błąd.

Zaczynam tutaj rozpaczać, więc każda pomoc jest bardzo atrakcyjna!

+0

Jestem stoi podobny problem Czy kiedykolwiek wokół ustalające ten problem? Dzięki za pomoc – Priyank

+0

Mam ten sam problem. Czy kiedykolwiek rozwiązałeś? – shanemcd

Odpowiedz

10

miałem bardzo podobny problem i rozwiązać go przez

  • zatrzymując wszystkie działające Solr przetwarza
  • Usunięcie folderu SOLR
  • Wyłącz/restart komputerowi
  • gem odinstalować wszystkie związane klejnotów
  • pakiet instalacyjny
  • początek solr
  • REINDEX solr
+1

Po prostu usunięcie katalogu ./solr (cały folder, a nie tylko zawartość) naprawiono dla mnie. – foz

+0

dodawanie prowadnic krokowych generowanie plam sunspot: zainstaluj przed uruchomieniem solr i zachowaj stare pliki solr na wypadek, gdybyś potrzebował starej konfiguracji, twoje rozwiązanie zadziałało i uratowało mnie!Dzięki –

+0

Aha, nie ma potrzeby restartowania komputera w moim przypadku co najmniej. –

4

zdarzyło mi się od czasu do czasu .. w moim przypadku było solr (nie SUNSPOT) Emisja

Spróbuj przejść do

http://localhost:8982/solr/admin 

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

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

(w zależności od tego, co środowisko używasz)

do zobacz, jaki błąd masz pod serwerem Solr

Widziałem komunikat o błędzie java i naprawiłem go po prostu usuwając katalog indeksu i restartując solr

i zaczął zachowywać się zgodnie z oczekiwaniami

nadzieję, że pomogło

2

lub można ponownie zainstalować gem. To działa dla mnie.

1

Dokładniej, znalazłem przyczynę dla mojego problemu, mam nadzieję, że to pomoże żadnych dusze zastanawiałem się, co się stało

Najpierw Usunąłem folder/danych Solr. Kiepski pomysł.I to spowodowało błędy opisane przez cakizm.

Ponowne uruchamianie, usuwanie folderu Solr itp. Nie pomoże. Po prostu dlatego, że działa serwer Solr i nie zostanie zatrzymany nawet przy plamach słonecznych: solr: stop. Trzeba zabić tę instancję:

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 

Po tym, można potem kontynuować usuwanie folderu SOLR i uruchomieniem serwera ponownie

2

Oto prosty sposób (nie wymaga brudząc z klejnotów lub restart komputera):

rake sunspot:solr:stop 

Jeśli zmodyfikowany schemat, skopiuj zawartość site_root/solr/conf/schema.xml do schowka

Następnie usunąć cały folder SOLR na site_root/solr

Teraz uruchom:

rake sunspot:solr:start 

Polecenie to utworzy i repopulate usuniętego folderu Solr.

Jeśli skopiowałeś plik schema.xml powyżej, ponownie otwórz plik schema.xml, zaznacz wszystko i skopiuj zawartość schowka. Zapisz plik.

Teraz uruchom:

bundle exec rake sunspot:solr:reindex 
0

byłem stoi sam problem, i wreszcie mam config/database.yml ma złą nazwę bazy danych, a nie sprawdziłem sunspot.yml, plik ten ma także złą konfigurację jak ip adres. Modyfikuję oba pliki, niż zaczynają działać.

0

Dla mnie było tak wiele zależności z turn off/restart the computer (Nie było możliwe ponowne uruchomienie) i nie działa nic z góry (nie próbuję z restartu). Tak więc, moim rozwiązaniem roboczym było

  1. Przejdź do katalogu głównego aplikacji.
  2. użyciu ps aux | grep solr znaleźć SOLR process ID
  3. zatrzymania procesu SOLR korzystając kill -9 4313 # dla mnie 4313 był SOLR identyfikator procesu
  4. początek solr na postoju rake sunspot:solr:start RAILS_ENV=staging

  5. ponownego indeks solr za pomocą rake sunspot:solr:reindex RAILS_ENV=staging

To wszystko.

N.B: Wymień środowiska według potrzeb

Powiązane problemy