To realize appropriate software reuse, it is necessary to seek software that satisfies a given requirement. However, conventional search techniques cannot enable prompt reuse of software because such conventional techniques target the program source code as the retrieval unit. In this paper, we propose a new component-extraction-based program search system. Our system analyses a collection of object-oriented (OO) programs, acquires relationships among OO classes, and extracts reusable software components composed of some classes. Moreover, our system generates indexes composed of divided type names and comments for newly extracted components. Using our system, the extracted components can be searched by keywords, and the result set can be viewed by a web browser such that the user can decide whether the query result component matches his/her requirements.