We study a document retrieval problem in the new framework where $D$ text documents are organized in a {em category tree} with a pre-defined number $h$ of categories. This situation occurs e.g. with taxomonic trees in biology or subject classification systems for scientific literature. Given a string pattern $p$ and a category (level in the category tree), we wish to efficiently retrieve the $t$ emph{categorical units} containing this pattern and belonging to the category. We propose several efficient solutions for this problem. One of them uses $n(logsigma(1+o(1))+log D+O(h)) + O(Delta)$ bits of space and $O(|p|+t)$ query time, where $n$ is the total length of the documents, $sigma$ the size of the alphabet used in the documents and $Delta$ is the total number of nodes in the category tree. Another solution uses $n(logsigma(1+o(1))+O(log D))+O(Delta)+O(Dlog n)$ bits of space and $O(|p|+tlog D)$ query time. We finally propose other solutions which are more space-efficient at the expense of a slight increase in query time.