0
Tire.search index do
  query do
    filtered do
      query { string term }
      filter :or, { missing: { field: :group_id } },
                  { terms: { group_id: group_ids } }
      filter :not { type: "Movie" } if current_user.has_not_permission("Movie")
    end
  end
end.results

如果用户无权观看电影,我想排除所有电影结果。

4

1 回答 1

0

这是授权弹性搜索结果的一个很好的答案:

使用 cancan 授权 elasticsearch 结果

于 2013-01-28T21:01:13.547 回答