Are you showing/hiding search fields based on the selected item in the dropdown? (Local/Public/Special)?
If so, you might want to change the form's action with javascript when the dropdown changes, and create a controller action for each set of search fields that can be used at once.
Then each action on your controller can take only the parameters it needs. Seems like that might make it easier to test.
If the user can search on all fields at once, I think the method you propose is good.