You say:
the link above shows a solution that we can't use, it takes too much space and we want to dynamically refresh the results set on every click, narrowing down (filtering) the results, so whenever a user click or "goes into" a sub class he will be able to see the change on the results page.
I see it differently. You already have a working navigation scheme, that fulfills your requirements: the titles are shown and the path is traceable. Don't make it more complicated by adding an extra filter section and overlay windows. To my mind, you only need to place the search box above the navigation scheme. Once the user has entered a search term, the navigation tree should be filtered correspondinglyby removing entries not included in the search results. You can further support the user in browsing the search results:
- show the number of hits next to each class, subclass etc.
- automatically scroll to the class or subclass with the most (or most relevant) hits
- automatically expand the class or subclass with the most hits
This way you can reuse one interface for two different user goals:
- the manual investigation of the class hierarchy, that can be performed by expanding and collapsing classes
- the automatic reduction of the class hierarchy according to the search term.
This makes the site easier to use and you avoid a redundant presentation of information. However, your design should make it clear for the user, that search box and navigation tree are not independent from each other. For example, it should be indicated that the user has to clear the search box in some way in order to see the complete class hierarchy again.