The advances in service-oriented architecture (SOA) have fueled the demand for building service-based systems (SBSs) by composing existing services. Finding appropriate component services is a key step during the process for building SBSs. However, existing approaches require that system engineers have detailed knowledge of SOA techniques, which is often too demanding. A recent approach has been proposed to address this issue. However, it suffers from poor efficiency, which is increasingly critical as the service repository continues to grow. To address this issue, this paper proposes KS3+, a new, highly efficient approach that allows a system engineer to query for a system solution with a few keywords that represent the required system tasks. Modeling the problem of answering such a keyword query as a dynamic programming problem, KS3+ can quickly find a system solution composed of services that perform the required system tasks. It offers an efficient paradigm that significantly reduces the time and effort during the process for building SBSs. The results of extensive experiments on a real-world web service dataset demonstrate the high efficiency and effectiveness of KS3+.