Railsアプリの検索を実装するためにタイヤを使用しています。このアプリは、ActiveModel を実装する CouchDB と couchrest_model gem によって支えられています。
readme から、オプション :include_in_all があることがわかりますが、その動作については説明されていませんが、_all をクエリするときにインデックスが含まれないと思います
次のマッピングが与えられた場合
mapping do
indexes :id, :index => 'not_analyzed', :include_in_all => false
indexes :title, :analyzer => 'snowball', :boost => 100
indexes :question_content, :analyzer => 'snowball'
indexes :skill_id, :index => 'not_analyzed', :include_in_all => false
indexes :topic_id, :index => 'not_analyzed', :include_in_all => false
indexes :archived, :type => 'boolean', :include_in_all => false
indexes :created_at, :type => 'date', :index => 'not_analyzed', :include_in_all => false
indexes :published_at, :type => 'date', :index => 'not_analyzed', :include_in_all => false
end
クエリで default_field を指定しない場合、title
ESはインデックスのみを検索することを期待します。question_content
理解できていないのでしょうか、それともバグですか?
//編集
インデックスを削除して再作成すると、設定した include_in_all オプションが認識されます。