> this is the field type i m using for
> techskill,
> 
>  <field
> name="techskill"   type="text_general" 
> indexed="true"
>  stored="true" />
> 
> <fieldType name="text_general" class="solr.TextField"
> positionIncrementGap="100">
>       <analyzer type="index">
>         <tokenizer
> class="solr.StandardTokenizerFactory"/>
>         <filter
> class="solr.StopFilterFactory" ignoreCase="true"
> words="stopwords.txt" enablePositionIncrements="true" />
>         <!-- 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" enablePositionIncrements="true" />
>         <filter
> class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> ignoreCase="true" expand="true"/>
>         <filter
> class="solr.LowerCaseFilterFactory"/>
>       </analyzer>
>     </fieldType>
> 

StandardTokenizer (ST) eats up # character. c# becomes c. You can verify this 
using Analysis page. You need an analysis chain that preserves #. 

There are different ways to do it. WhitespaceTokenizer with WordDelimeter can 
be an option.

MappingCharFilter "#" => "SHARP" can be another too.

Reply via email to