Der Versuch, Thinking Sphinx für die Suche zu verwenden. Gefolgt this Railscast von Homebrew-Installation TS und MySQL (obwohl ich pg in meiner app bin, ist es offensichtlich erforderlich), und fügte hinzu, diese Zeilen zu meinem gemfile:Thinking Sphinx - Keine Indizes in der Konfigurationsdatei gefunden
gem 'mysql2'
gem 'thinking-sphinx'
und die folgenden in meinem Modell setzen, unten alles andere
post.rb
class Post < ActiveRecord::Base
#...
define_index do
indexes content
indexes :name
end
end
Dann gehe ich das Terminal in und versuchen Rake ts: index, aber ich habe diesen Fehler:
using config file '/Users/<personal>/rails_projects/<personal>/config/development.sphinx.conf'...
FATAL: no indexes found in config file '/Users/<personal>/rails_projects/<personal>/config/development.sphinx.conf'
Fishedaroundon the internet und nichts gefunden, was dies recht beantwortet. Ich habe versucht, rake ts: configure (die sich nicht beschweren) und dann rake ts: index, aber es funktioniert nicht.
Etwas Hintergrund: Ich habe gerade meine Terminal-Shell geändert (um zsh zu verwenden), was alle möglichen seltsamen, unerwarteten Änderungen hervorrief. Ich musste Bundler neu installieren, dann bündle alle meine Edelsteine neu, dann unabhängig installieren Rake installieren. Dann habe ich das Bundle für das gute Maß aktualisiert. Jetzt scheint Rake zu funktionieren, aber ich bekomme immer noch den Fehler.
Die Config der Fehlerdatei murrt über:
indexer
{
}
searchd
{
listen = 127.0.0.1:9306:mysql41
log = /Users/<personal>/rails_projects/<personal>/log/development.searchd.log
query_log = /Users/<personal>/rails_projects/<personal>/log/development.searchd.query.log
pid_file = /Users/<personal>/rails_projects/<personal>/log/development.sphinx.pid
workers = threads
binlog_path = /Users/<personal>/rails_projects/<personal>/tmp/binlog/development
}
Irgendwelche Ideen, was los ist/welcher Code die Antwort in sein könnte?
INTERESSANTER UPDATE - ich die Q & A folgte auf this Google Group meiner Schienen Konsole eingeben und geben Sie „Post.sphinx_indexes.length“, aber ich habe diese sehr unterschiedliche Fehler zurück. Sieht so aus, als hätte mein Model irgendwie keinen Zugang zu dem Juwel?
NoMethodError: undefined method `define_index' for #<Class:0x007f9c06c611b0>
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.2.11/lib/active_record/dynamic_matchers.rb:55:in `method_missing'
from /Users/<personal>/rails_projects/<personal>/app/models/post.rb:55:in `<class:Post>'
from /Users/<personal>/rails_projects/<personal>/app/models/post.rb:13:in `<top (required)>'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:469:in `load'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:469:in `block in load_file'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:639:in `new_constants_in'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:468:in `load_file'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:353:in `require_or_load'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:502:in `load_missing_constant'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:192:in `block in const_missing'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:190:in `each'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:190:in `const_missing'
from (irb):1
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
from /Users/<personal>/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'irb(main):002:0>
Dank Jerome ... genau, was ich tat-falsch geschriebenen Indizes. – backwardm
Ein Fall, in dem der Plural, glaube ich, falsch definiert ist. Indizes würden zu weniger Fehlern führen und rails-ish sein. – Jerome
Ich ging mit 'Indizes', weil 'Indizes' ist auch die Aktion der Indizierung (Verarbeitung der Indizes), und ich wollte Verwirrung vermeiden. Daher versuche ich, Indizes als Plural des Index zu verwenden, wo immer es möglich ist. – pat