At the moment it looks to me like it is only possible to use predefined queries via the ODSSearchService.
Adding a new query for another ApplicationElement (like e.g. a ResultParameterSet) could be achieved by
extending BaseEntitySearchQuery and then calling the private method registerMergedSearchQuery.
This isn't too practical, as it involves calling a private method.
It should be considered if we need to be more flexible in querying, and if yes, how to allow that in a generic way.
Looks like the Query Interface could help instead of the SearchService. It would be nice to have more demo code with typical use cases.