NP. By the way, kudos for posting enough information to diagnose the problem first time round!
Erick On Thu, Oct 27, 2011 at 8:46 AM, Daniel Bradley <daniel.brad...@adfero.co.uk> wrote: > Fantastic, thanks, yes I completely overlooked that case, separating the > analysers worked a treat. > > Had also posted on stack overflow but the mailing list proved to be > superior! > > Many thanks, > > Daniel > > On 27 October 2011 13:09, Erick Erickson <erickerick...@gmail.com> wrote: > >> Take a look at your admin/analysis page and put your tokens in for both >> index and query times. What I think you'll see is that the # is being >> stripped at query time due to the first PatternReplaceFilterFactory. >> >> You probably want to split your analyzers into an index-time and query-time >> pair and do the appropriate replacements to keep # at quer time. >> >> >> Best >> Erick >> >> On Tue, Oct 25, 2011 at 12:27 PM, Daniel Bradley >> <daniel.brad...@adfero.co.uk> wrote: >> > When running a search such as: >> > field_name:# >> > field_name:"#" >> > field_name:"\#" >> > >> > where there is a record with the value of exactly "#", solr returns 0 >> rows. >> > >> > The workaround we are having to use is to use a range query on the >> > field such as: >> > field_name:[# TO #] >> > and this returns the correct documents. >> > >> > Use case details: >> > We have a field that indexes a text field and calculates a "letter >> > group". This keeps only the first significant character from a value >> > (number or letter), and if it is a number the simply stores "#" as we >> > want all numbered items grouped together. >> > >> > I'm also aware that we could also fix this by using a specific number >> > instead of the hash character, however, I though I'd raise this to see >> > if there is a wider issue. I've listed some specific details below. >> > >> > Thanks for your time, >> > >> > Daniel Bradley >> > >> > >> > Field definition: >> > <fieldType name="letterGrouping" class="solr.TextField" >> > sortMissingLast="true" omitNorms="true"> >> > <analyzer> >> > <tokenizer class="solr.PatternTokenizerFactory" >> > pattern="^([a-zA-Z0-9]).*" group="1"/> >> > <filter class="solr.LowerCaseFilterFactory" /> >> > <filter class="solr.TrimFilterFactory" /> >> > <filter class="solr.PatternReplaceFilterFactory" >> > pattern="([^a-z0-9])" replacement="" replace="all" >> > /> >> > <filter class="solr.PatternReplaceFilterFactory" >> > pattern="([0-9])" replacement="#" replace="all" >> > /> >> > </analyzer> >> > </fieldType> >> > >> > Server information: >> > Solr Specification Version: 3.2.0 >> > Solr Implementation Version: 3.2.0 1129474 - rmuir - 2011-05-30 23:07:15 >> > Lucene Specification Version: 3.2.0 >> > Lucene Implementation Version: 3.2.0 1129474 - 2011-05-30 23:08:57 >> > >> >