Probably the best way to restrict results based on user roles is to create separate indexes as you already suggested.
You can create index for a group of pages accessible to certain roles and set up the SearchBox
control on those pages to use the index or to point it in the code you're using.
This requires that the access level of the pages is based on their hierarchy. All child pages for a restricted page will be indexed if you select the restricted page as a Starting node to index.
Parsing the result and check every page is will lead to unnecessary slow down which, of course, depends on the number of results returned.
Don't hesitate to contact us if you have other questions.
the Telerik team