Great. And you shouldn't need the "{1}" - the square brackets match a single character by definition.
-- Jack Krupansky On Mon, Mar 7, 2016 at 12:20 PM, Jay Potharaju <jspothar...@gmail.com> wrote: > Thanks Jack, the problem was my regex. Following regex worked. > <filter class="solr.PatternCaptureGroupFilterFactory" pattern= > "([a-zA-Z0-9]{1})" preserve_original="false"/> > Jay > > On Sun, Mar 6, 2016 at 7:43 PM, Jack Krupansky <jack.krupan...@gmail.com> > wrote: > > > The filter name, "Capture Group", says it all - only pattern groups are > > captured and you have not specified even a single group. See the example: > > > > > http://www.solr-start.com/javadoc/solr-lucene/org/apache/lucene/analysis/pattern/PatternCaptureGroupFilterFactory.html > > > > Groups are each enclosed within parentheses, as shown in the Javadoc > > example above. > > > > Since no groups were found, the filter doc applied this rule: > > "If none of the patterns match, or if preserveOriginal is true, the > > original token will be preserved." > > > > > http://www.solr-start.com/javadoc/solr-lucene/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.html > > > > That should probably also say "or if no pattern groups match". > > > > To test regular expressions, try an interactive online tool, such as: > > https://regex101.com/ > > > > -- Jack Krupansky > > > > On Sun, Mar 6, 2016 at 7:51 PM, Alexandre Rafalovitch < > arafa...@gmail.com> > > wrote: > > > > > I don't see the brackets that mark the group you actually want to > > > capture. As per: > > > > > > > > > http://www.solr-start.com/javadoc/solr-lucene/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.html > > > > > > I am also not sure if you actually need "{0,1}" part. > > > > > > Regards, > > > Alex. > > > ---- > > > Newsletter and resources for Solr beginners and intermediates: > > > http://www.solr-start.com/ > > > > > > > > > On 7 March 2016 at 04:25, Jay Potharaju <jspothar...@gmail.com> wrote: > > > > Hi, > > > > I have a custom field for getting the first letter of an firstname. > For > > > > this I am using PatternCaptureGroupFilterFactory. > > > > This is not working as expected, not able to parse the data and get > the > > > > first character for the string. Any suggestions on how to fix this? > > > > > > > > <fieldType class="solr.TextField" name="text_firstLetter"> > > > > > > > > <analyzer> > > > > > > > > <tokenizer class="solr.KeywordTokenizerFactory"/> > > > > > > > > <filter class="solr.UpperCaseFilterFactory"/> > > > > > > > > <filter class="solr.PatternCaptureGroupFilterFactory" > pattern= > > > > "^[a-zA-Z0-9]{0,1}" preserve_original="false"/> > > > > > > > > </analyzer> > > > > > > > > </fieldType> > > > > > > > > -- > > > > Thanks > > > > Jay > > > > > > > > > -- > Thanks > Jay Potharaju >