Service discovery employs matching techniques to select ser-vices by comparing their descriptions against user constraints. Semantic-based matching approaches achieve higher recall than syntactic-based ones (as they employ ontological rea-soning mechanisms to match syntactically heterogeneous de-scriptions). However, semantic-based approaches still have problems (e.g. lack of scalability as an exhaustive search is often performed to located services conforming to con-straints). This paper proposes two approaches that deal with the problem of scalability/performance for composite service location. First, services are indexed based on the val-ues they assign to their restricted attributes (the attributes restricted by a given constraint). Then, services that as-sign “conforming values ” to those attributes are combined to form composite services. The first proposed approach ex-tends a local optimisation technique to perform the latter, since identifying such values is NP-hard. However, this ap-proach returns false negatives since the local optimisation technique does not consider all the values. Hence, a second approach that derives conforming values using domain rules is defined. The used rules are returned with each composite service so that a user can understand the context in which it is retrieved. Results obtained from the experiments that varied the number of available services demonstrate that the performance of the local optimisation-based approach is 76% better than existing semantic-based approaches and recall is 98 % higher than syntactic-based approaches