Your cache key must include any dynamic data you want to separate your cache by. In your case the cache key must include bar_id. What I'd do is:
@foo = Rails.cache.fetch("foo_by_id:#{params['bar_id']}", expires_in: 10.minutes) do
Foo.where(:search => params['search'], :bar_id => params['bar_id']).first
end