タイヤジェムを介したElasticSearchを使用しています。
私のリソースモデルにインデックスを付けるためにこの構造を与えられました
mapping do
indexes :_id
indexes :version, analyzer: 'snowball', boost: 100
indexes :resource_files do
indexes :_id
indexes :name, analyzer: 'snowball', boost: 100
indexes :resource_file_category do
indexes :_id
indexes :name, analyzer: 'snowball', boost: 100
end
end
end
特定のresource_file_categoryIDを持つresource_filesを持つすべてのリソースを取得するにはどうすればよいですか?
Elastic Searchのドキュメントを調べましたが、has childfilterhttp://www.elasticsearch.org/guide/reference/query-dsl/has-child-filter.htmlを使用している可能性があります 。
私はこの方法を試しました
filter :has_child, :type => 'resource_files', :query => {:filter => {:has_child => {:type => 'resource_file_category', :query => {:filter => {:term => {'_id' => params[:resource_file_category_id]}}}}}}
しかし、「ネストされたhas_childフィルター」を作成することが可能/有効かどうか、またはこれを行うためのより良い/より簡単な方法があるかどうかはわかりません...アドバイスは大歓迎です;)