ruby-on-rails – 思考Sphinx – 在配置文件中找不到索引
尝试使用Thinking Sphinx进行搜索.通过自制软件安装TS和
MySQL跟随
this Railscast(虽然我在我的应用程序中使用了pg,显然需要它),将这些行添加到我的gemfile中:
gem 'mysql2' gem 'thinking-sphinx' 并将以下内容放在我的模型中,低于其他所有内容 post.rb class Post < ActiveRecord::Base #... define_index do indexes content indexes :name end end 然后我进入终端并尝试rake ts:index,但是我收到此错误: 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' Fished around on the internet并没有发现任何答案.我试过运行rake ts:configure(不抱怨)然后rake ts:index,但它不起作用. 一些背景:我刚刚更改了我的终端shell(使用zsh),这会产生各种奇怪的意外变化.我不得不重新安装bundler,然后重新捆绑安装所有我的宝石,然后独立gem安装rake.然后我捆绑更新为好的措施.现在rake似乎工作,但我仍然得到错误. 错误抱怨的配置文件: 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 } 任何想法发生了什么/答案可能是什么代码? 有趣的更新 – 我按照this Google Group的Q& A进入我的rails控制台并键入“Post.sphinx_indexes.length”,但我得到了这个非常不同的错误作为回报.看起来我的模型不知何故无法访问宝石? 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> 解决方法
还将这个问题发布到Thinking Sphinx Google Group并在那里得到答案,所以我将其粘贴在下面.在回答了上述问题之后,我遇到了另一个错误并在那里进行了跟进,所以如果有人想要更多信息,this discussion应该会继续提供帮助.
我引述:
|