The problem indicates that you'r Solr is indexing letters in this case differently. You need to setup new custom field on Solr schema and define what tokenizer to use. Tokenizer logic is responsible how to index words. For example in Finnish language "e-lasku" is one word but it was indexed as "e" and "lasku". I had to create custom field with different tokenizer. If you look at the schema.xml file in Solr Core you can find "text_general" field is defined as like this:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
On the third row is tokenizer defined as StandardTokenizerFactory. That split words when "-" is on the word. This is most likely the reason also why Chinese letters are split.
You need to create your own Solr Core field and use different tokenizer. Or you can remove this tokenizer on "text_general_zh" and replace it with this:
<tokenizer class="solr.WhitespaceTokenizerFactory" />
If you want to define new field you can do it like this. Add new fieldType:
<fieldType name="text_general_zh_custom" class="solr.TextField" positionIncrementGap="100" multiValued="false">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
And also add this line in the same file where rest of these are:
<field name="content_custom" type="text_general_custom" indexed="true" stored="true"/>
Lastly add a custom solr index on Sitecore and make code use that field.
Hopefully this resolves your problem.