Thanks I'll check that out. :) Shaun
On Tue, 9 Mar 2021 at 22:31, Jörn Franke <jornfra...@gmail.com> wrote: > From the Solr ref guide: you forgot the flatten graph filter at the end - > this is needed for any graph filter you use : <filter > class="solr.FlattenGraphFilterFactory"/> <!-- required on index analyzers > after graph filters --> > > > Am 09.03.2021 um 22:21 schrieb Shaun Campbell <campbell.sh...@gmail.com > >: > > > > Hi Susmit > > > > That didn't seem to work. Don't know if I was doing something wrong. I > > ended up writing a regex to split the incoming string into strings of > > numbers and letters and build up the query manually. It's all working > now. > > > > Thanks > > Shaun > > > >> On Tue, 9 Mar 2021 at 16:50, Susmit <shukla.sus...@gmail.com> wrote: > >> > >> q.op = AND could be useful. the parts broken down by WDgff joined by > ‘AND’ > >> > >> Sent from my iPhone > >> > >>> On Mar 9, 2021, at 3:07 AM, Shaun Campbell <campbell.sh...@gmail.com> > >> wrote: > >>> > >>> Hi > >>> > >>> I'm trying to produce an autosuggestion field for project ids using > >>> ngrams and WordDelimiterGraphFilterFactory to split on word number > >>> boundaries. > >>> > >>> The ids have various formats ranging from nihr123456, 12/34/567, > >>> DRF-2018-11-ST2-062. > >>> > >>> What I'm trying to do is allow the user to enter the number parts or > the > >>> alphabetical characters, or both and match all. The basic > autosuggestion > >> is > >>> working but I have an issue where the query is matching some but not > all > >> of > >>> the component parts. For example: > >>> > >>> I enter DRF-2018-11 and it matches: > >>> > >>> DRF-2018-11-ST2-062 > >>> PB-PG-0909-20188 > >>> CS-2018-18-ST2-005 > >>> > >>> > >>> The first one is correct because it matches the DRF, the 2018 and the > 11. > >>> The second and third ones I don't want because there's no DRF, or 11 in > >> the > >>> ids. Is there any way to get around this problem in Solr > configuration, > >> or > >>> do I have to split the id manually in code and construct a query where > >> the > >>> id is DRF AND id is 2018 AND id is 11? > >>> > >>> Here is my field type configuration: > >>> > >>> <fieldType name="ngram_award_id" class="solr.TextField" > >>> positionIncrementGap="100" autoGeneratePhraseQueries="true"> > >>> <analyzer type="index"> > >>> > >>> <tokenizer class="solr.StandardTokenizerFactory"/> > >>> <filter class="solr.WordDelimiterGraphFilterFactory" > >> generateWordParts="1" > >>> generateNumberParts="1" catenateWords="0" catenateNumbers="0" > >>> catenateAll="0" splitOnCaseChange="0" splitOnNumerics="1"/> > >>> <filter class="solr.LowerCaseFilterFactory"/> > >>> <filter class="solr.FlattenGraphFilterFactory" /> > >>> <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" > >>> maxGramSize="7"/> > >>> > >>> </analyzer> > >>> <analyzer type="query"> > >>> > >>> <tokenizer class="solr.StandardTokenizerFactory"/> > >>> <filter class="solr.WordDelimiterGraphFilterFactory" > >> generateWordParts="1" > >>> generateNumberParts="1" catenateWords="0" catenateNumbers="0" > >>> catenateAll="0" splitOnCaseChange="0" splitOnNumerics="1"/> > >>> <filter class="solr.LowerCaseFilterFactory"/> > >>> > >>> </analyzer> > >>> </fieldType> > >>> > >>> Thanks > >>> Shaun > >> >