Which version of Solr are you using? : Terms with embedded special characters are treated as phrases with spaces in : place of the special characters. So, "gb-mb" is treated as if you had enclosed : the term in quotes.
take a look at "autoGeneratePhraseQueries" option on your field type ... dependingon the "version" attribute of your <schema /> it may be defaulting to true. Setting it to false should cause it to treat "gb" and "mb" as distinct terms. -Hoss