You can create a label that *matches what you want to hide* (use regex rule if necessary). Then, you can set "hide these messages from other views" in the properties for the label. Then, those messages won't show in other views as long as you have "show hidden" unchecked for those views.

To get to the show settings for a view, click the "settings for this view" icon on the message list toolbar.

Now, if you perform a search on a view with the search field, when the results show up,according to Opera, the result list will actually be a different view. You can then make sure "show hidden" is unchecked for that view. As in, you might have "show hidden" checked for a view, search in that view and uncheck "show hidden" for the result view. I just forget if the show settings for a search result view are saved when you change them or if you have to do that every time.

Anyway, that's something you can try.