Have you tried to change your scopes like this?
scope :with_category, lambda { |category_slug|
joins(:categorizations => :category).where('categorizations.category_id = ?', Category.find_by_slug(category_slug).id).uniq unless category_slug.blank?
}
scope :simple_search, lambda { |query|
where('"products"."name" ~* ? OR "products"."description" ~* ?', query, query) unless query.blank?
}