Hi Jables,
There are no magic solution for what you're trying to do.
What you can do is search each model and use a 4th model as the search result.... using that search result model to paginate and display your page.
This way you should be able to sort in different fashion as made the query much more efficient.
One question I have for you is how do you trigger the search?
Regards,
Jean-Marc http://m2i3.com