Caching search page

Hi,

I would like to be able to cache a website search page /search but still being able to get search results via a search parameter in the url /search?q=foo.

What would be the best approach to achieve this? :thinking:
Should I create a separate results template and controller?