I have a text field defined that I use copyField to fill with various source fields, and the goal is for this one field to be what I use to search my Solr index. 

This text field is defined to use this custom fieldType "text\_en\_splitting\_reversed." I created this field type by copying the example "text\_en\_splitting" and adding the ReversedWildcardFilterFactory to the index analyzer.

```
<!-- Just like text_en_splitting, but with the addition of reversed tokens for leading wildcard matches -->
<fieldType name="text_en_splitting_reversed" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <!-- in this example, we will only use synonyms at query time
    <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
    -->
    <!-- Case insensitive stop word removal.
      add enablePositionIncrements=true in both the index and query
      analyzers to leave a 'gap' for more accurate phrase queries.
    -->
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="lang/stopwords_en.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"/>
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
    <filter class="solr.PorterStemFilterFactory"/>
    <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
       maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
 </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="lang/stopwords_en.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"/>
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>

```

My primary problem: When I search using a leading wildcard, I get unexpected results. For example, I know one particular search I'm doing for "\*car" should return a single match (the document contains the word "racecar"). Since this was failing, I decided to debug it in the analyzer tool in the Solr Admin. Here is a screenshot of my test:

![Leading wildcard issue](https://i.stack.imgur.com/0jXSX.png)

I'm new to this analyzer tool, but shouldn't the right side have retained the leading asterisk all the way down? And why doesn't this end up matching? Am I expected to do the reverse processing of the user's entered keywords?

Now, in my index query config, I am set to use edismax. However, in the admin analyzer gui, I don't see a way to control whether it's using the standard parser or edismax. (Perhaps it doesn't matter?)

In case this information may help provide more context, I am going to run down my goals for this particular field being indexed:

* I would like \*car to match racecar. **This is not working.**
* I would like $30 to match documents containing $30, but NOT those containing 30 (without the dollar sign preceeding). So I added a types="" attribute where I define $ as a DIGIT. This **is** working.
* I would like 30 to match documents containing $30. **This is not working.**