пятно с джруби - PullRequest
       69

пятно с джруби

3 голосов
/ 13 мая 2011

Привет, sunspot можно использовать с 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 ]

2 голосов
/ 21 мая 2011

Привет, я вроде разобрался, я на jruby, форк не разрешен на jruby, и rake sunspot: solr: start пытается форкировать и выбрасывать ошибку, но rake sunspot: solr: run запускает solr на переднем плане иработает хорошо, немного больно, но все хорошо: -)

-D

1 голос
/ 08 декабря 2011

Вы уже разобрались с проблемой разветвления, поэтому, если вы хотите остаться в одной оболочке для разработки и тестирования, я обнаружил, что эти псевдонимы особенно полезны для запуска солнечных пятен в конкретной среде 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>инициализаторы, и вы можете добавить -p {$ port_num} перед псевдонимами запуска & на и изменить явные номера портов на {$ port_num} для псевдонимов уничтожения.

Как уже говорил Влад, из вашего объяснения трудно понять, что происходит в браузере.Одна вещь, которая может вас поймать, если вы новичок в sunspot, это то, что вам нужно иметь экземпляр, работающий в среде dev (используйте псевдоним sunspot_run_dev), прежде чем пытаться что-то CRUD в вашей базе данных, иначе вы получите ошибку отказа в соединении.

См. псевдонимы bash, не распознаваемые функцией bash: sunspot_rails, jruby, rspec , чтобы узнать больше об устранении неполадок с функциями для переноса команд, требующих sunspot.

0 голосов
/ 18 мая 2011

Для выдачи рейка:

gem install sunspot -v 1.2.rc4

Для «не работает в браузере»: что значит «не работает»?

  • если результат не возвращается:

Вы можете отладить его, сравнив запросы Solr, сделанные вами вручную в скрипте / консоли, и запросы, сделанные сервером. По умолчанию гем sunspot регистрирует запросы в 'logs / sunspot-solr-development.log'

  • ошибка (какая?)
...