Пятно с джруби
Привет, солнечное пятно можно использовать с Jruby, также вот мои данные приложения
jruby-1.6.1
rails 3.0.7
when i install all the gems and run rake sunspot:solr:start it gives me the following error
Gem::LoadError: Could not find RubyGem sunspot (>= 0)
report_activate_error at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:861
activate at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:255
gem at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:1215
(root) at /Users/dpatel/.rvm/gems/jruby-1.6.1@solr/bin/sunspot-solr:18
Однако, когда я запускаю rake sunspot:solr:run, он работает нормально.
Кроме того, когда я ищу с помощью Model.search, он работает нормально, но когда я запускаю solr webapp в браузере и что-то ищу, он не работает.
Может кто-нибудь сказать мне, что происходит, плохо знакомый с солнечным пятном.
-Спасибо
3 ответа
Привет, я как-то понял, я на jruby, форк не разрешен на jruby, и rake sunspot: solr: start пытается форкировать и выбрасывать ошибку, но rake sunspot: solr: run запускает solr на переднем плане и работает нормально, немного больно но все хорошо:-)
-D
Вы уже разобрались с проблемой разветвления, поэтому, если вы хотите остаться в одной оболочке для разработки и тестирования, я обнаружил, что эти псевдонимы особенно полезны для запуска sunspot в конкретной среде rails, а затем для нахождения и уничтожения этого процесса, когда я закончу:
Если вы оставите порты по умолчанию:
alias sunspot_run_test="RAILS_ENV=test sunspot-solr run &"
alias sunspot_kill_test="fuser -n tcp 8982 -k"
alias sunspot_run_dev="RAILS_ENV=test sunspot-solr run &"
alias sunspot_kill_dev="fuser -n tcp 8982 -k
Если вы меняете порты, вам нужно изменить автоматически сгенерированный sunspot.yml или поместить sunspot.rb в config>initializers, и вы можете добавить -p{$port_num} перед псевдонимами & on run и изменить явные номера портов в {$ port_num} для псевдонимов уничтожения.
Как уже говорил Влад, из вашего объяснения трудно понять, что происходит в браузере. Одна вещь, которая может вас поймать, если вы новичок в sunspot, это то, что вам нужно иметь экземпляр, работающий в среде dev (используйте псевдоним sunspot_run_dev), прежде чем пытаться что-либо CRUD в вашей базе данных, иначе вы получите ошибку отказа в соединении.
Посмотрите псевдонимы bash, не распознаваемые функцией bash: sunspot_rails, jruby, rspec, чтобы узнать больше об устранении неполадок с функциями для переноса команд, требующих sunspot.
Для вопроса с граблями:
gem install sunspot -v 1.2.rc4
Для "не работает в браузере": что значит "не работает"?
- если результат не возвращается:
Вы можете отлаживать его, сравнивая запросы Solr, сделанные вами вручную в скрипте / консоли, и запросы, сделанные сервером. По умолчанию гем sunspot регистрирует запросы в 'logs / sunspot-solr-development.log'
- ошибка (какая?)