我使用过的轮胎的宝石弹性搜索。
鉴于这种结构,索引我的资源模型
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_category ID resource_files的资源?
我看着在弹性搜索文档,我认为可以用有子滤波器http://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过滤器”,或者是没有做到这一点...任何意见是值得欢迎的更好/更简单的方法;)