Okay, I think I understand better what you're trying to do. You should be able to control the pagination like this. Just make sure you're passing the search string with the new query. What you're doing is replacing the default query which is searching correctly with a totally new one, which only shows two random pages because the search string isn't being passed to it.

Check out the WP_Query codex for more options. You can pass as many as you want by separating them with a &.