ドキュメントを使用して、 ThinkingSphinxをプロジェクトに統合しようとしています。属性を持つモデルの場合、次のようにインデックスを作成しました。User
first_name
last_name
User.rb
define_index do
indexes :first_name
indexes :last_name
end
次に、コマンドを実行します。
rake ts:index
rake ts:start
これで検索が始まります。次のコマンドを使用して検索すると、結果が得られます。
User.search('swati')
しかし、私が走るとき
User.search :with => {:first_name => "swati"}
それは私にエラーを与えます:
Sphinx Sphinx Daemon returned error: index user_core: no such filter attribute 'first_name'
Sphinx Caught Sphinx exception: index user_core: no such filter attribute 'first_name' (0 tries left)
ThinkingSphinx::SphinxError: index user_core: no such filter attribute 'first_name'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/thinking-sphinx-2.0.13/lib/thinking_sphinx/search.rb:438:in `block in populate'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/thinking-sphinx-2.0.13/lib/thinking_sphinx/search.rb:606:in `call'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/thinking-sphinx-2.0.13/lib/thinking_sphinx/search.rb:606:in `retry_on_stale_index'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/thinking-sphinx-2.0.13/lib/thinking_sphinx/search.rb:426:in `populate'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/thinking-sphinx-2.0.13/lib/thinking_sphinx/search.rb:187:in `method_missing'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.8/lib/rails/commands/console.rb:47:in `start'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.8/lib/rails/commands/console.rb:8:in `start'
from /home/swati/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.8/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
私はstackoverflowで可能な解決策を探しました、そしてそれはコマンドrake ts:index
とを実行するように頼まれましたrake ts:rebuild
。私はこのコマンドを実行しましたが、役に立ちませんでした。
これに対する解決策を見つけるのを手伝ってください。
どうもありがとう。