Peer-to-peer systems have recently a remarkable success in the social, academic, and commercial communities. A fundamental problem in Peer-to-Peer systems is how to efficiently locate appropriate peers to answer a specific query (Query Routing Problem). A lot of approaches have been carried out to enhance search result quality as well as to reduce network overhead. Recently, researches focus on methods based on query-oriented routing indices. These methods utilize the historical information of past queries and query hits to build a local knowledge base per peer, which represents the user's interests or profile. When a peer forwards a given query, it evaluates the query against its local knowledge base in order to select a set of relevant peers to whom the query will be routed. Usually, an insufficient number of relevant peers is selected from the current peer's local knowledge base thus a broadcast search is investigated which badly affects the approach efficiency. To tackle this problem, we introduce a novel method that clusters peers having similar interests. It exploits not only the current peer's knowledge base but also that of the others in the cluster to extract relevant peers. We implemented the proposed approach, and tested (i) its retrieval effectiveness in terms of recall and precision, (ii) its search cost in terms of messages traffic and visited peers number. Experimental results show that our approach improves the recall and precision metrics while reducing dramatically messages traffic.