Yes, that works (apart from the typo in PatternReplaceCharFilterFactory) Here is my config
<!-- VB - Just like text_general, but supports $ currency matching and autoGeneratePhraseQueries --> <fieldType name="text_curr_3" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> <analyzer type="index"> <charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/> <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="\$" replacement="xxdollarxx"/> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.PatternReplaceFilterFactory" pattern="xxdollarxx" replacement="\$" replace="all"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" types="word-delim-types.txt" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/> <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="\$" replacement="xxdollarxx"/> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.PatternReplaceFilterFactory" pattern="xxdollarxx" replacement="\$" replace="all"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" types="word-delim-types.txt" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> On Wed, Nov 30, 2016 at 2:08 PM, Steve Rowe <sar...@gmail.com> wrote: > Hi Vinay, > > You should be able to use a char filter to convert “$” characters into > something that will survive tokenization, and then a token filter to > convert it back. > > Something like this (untested): > > <analyzer> > <charFilter class=“solr.PatternReplaceCharFiterFactory” > pattern=“\$” > replacement=“__dollar__”/> > <tokenizer class=“solr.StandardTokenizerFactory”/> > <filter class="solr.PatternReplaceFilterFactory” > pattern=“__dollar__” > replacement=“\$” > replace=“all”/> > </analyzer> > > -- > Steve > www.lucidworks.com > > > On Nov 30, 2016, at 1:58 PM, Vinay B, <vybe3...@gmail.com> wrote: > > > > Prior discussion at > > http://stackoverflow.com/questions/40877567/using- > standardtokenizerfactory-with-currency > > > > I'd like to maintain other aspects of the StandardTokenizer functionality > > but I'm wondering if to do what I want, the task boils down to be able to > > instruct the StandardTokenizer not to discard the $ symbol ? Or is there > > another way? I'm hoping that this is possible with configuration, rather > > than code changes. > > > > Thanks > >