When the search index is built, it uses some number of delimiters to identify breaks in-between words; spaces are the obvious one, for example. I don't quite remember exactly how this is implemented, but I believe that different search backends can individually define the regular expression used to extract individual words from a block of text.
In any case, '-' is a delimiter, so it considers the word "attributes-match" to be two words, not one. If it were considered to be one, then when you searched for "attributes", "attributes-match" wouldn't match. Of course, it's also possible for "attributes-match" to be added to the index as "attributes-match", "attributes", and "match", but this would require changing some code and then rebuilding the search index.
This could be considered a bug, so if you like, please file a bug report: http://tracker.phpbb.com