Unless there is something specific to a user's session about the search results, you should not tie them to sessions at all. Use the search criteria to generate a unique file name (usually one would do this by generating a long string containing the criteria in sorted order and then taking an MD5 of it) and store the results there. Write a cron job to kill anything over 1 day old in your search cache directory.