Abstract-Most existing techniques for keyword search in structured peer-to-peer (P2P) networks only support singlekeyword exact-match lookups. In practice, however, users often have fuzzy information for identifying these items and tend to submit broad queries. The support of searching based on multiple keywords is hence desirable. In multiple-keyword search, a data item is associated with multiple keywords for storage. A query may also contain multiple keywords. The search result for a query should include all the data items whose storage keywords contain all the query keywords. Traditional DHT-based approaches achieve this by storing a data item (or its index) multiple times, each time with one of its keywords. A query is processed by searching each of the query keywords once. Therefore, the storage cost and search cost are both linear with the number of keywords. Clearly, it is not efficient in case of a large number of keywords.In this paper, we propose a hybrid structured network called MKey to address this problem. Its backbone is a structured network. Each node in the backbone is also the leader of a cluster formed by non-backbone nodes. Within a cluster, nodes form an unstructured network and cooperate to store data and answer queries. When inserting a data item, multiple copies of its index are stored in a few different clusters. A query is also mapped to multiple clusters, and a flooding search within these clusters is performed. The union of all the search results are returned to users as the final result.As compared to traditional approaches, MKey has upper bounds for both the number of storage copies and the number of searching clusters for a query. Simulation results show that it can efficiently reduce storage cost and search cost, especially for a large number of keywords. Meanwhile, it can achieve good load balancing among nodes.