I figured it out for anyone finding this thread. I had to add the following to my solrconfig.xml
<luceneMatchVersion>LUCENE_31</luceneMatchVersion> <http://www.searchspring.net/>James Bathgate*Sr. Developer*888.643.9043 ext. 610 <http://www.linkedin.com/in/bathgate> On Thu, Jul 11, 2013 at 2:47 PM, James Bathgate <ja...@b7interactive.com>wrote: > 1. My general process for a schema change (I know it's overkill) is delete > the data directory, reload, index data, reload again. > > 2. I'm using schema version 1.5 on Solr 3.6.2. > > <schema name="SearchSpringDefault" version="1.5"> > > 3. LuceneQParser, but I've also tried dismax and edismax. > > Here's my solrQueryParser field in my schema, I think OR is correct for > this. > <solrQueryParser defaultOperator="OR"/> > > James > > > [image: SearchSpring | Findability Unleashed] > > James Bathgate | Sr. Developer > > Toll Free (888) 643-9043 x610 - Fax (719) 358-2027 > > 4291 Austin Bluffs Pkwy #206 | Colorado Springs, CO 80918 > www.searchspring.net <http://www.searchspring.net> > > > On Thu, Jul 11, 2013 at 2:29 PM, Jack Krupansky > <j...@basetechnology.com>wrote: > >> A couple of possibilities: >> >> 1. Make sure to reload the core. >> 2. Check that the Solr schema version is new enough to recognize >> autoGeneratePhraseQueries. >> 3. What query parser are you using? >> >> >> -- Jack Krupansky >> >> -----Original Message----- From: James Bathgate >> Sent: Thursday, July 11, 2013 5:26 PM >> >> To: solr-user@lucene.apache.org >> Subject: Re: Partial Matching in both query and field >> >> I just noticed I pasted the wrong fieldType with the extra tokenizer not >> commented out. >> >> <fieldType name="ngram" class="solr.TextField" >> positionIncrementGap="100" autoGeneratePhraseQueries="**false"> >> <analyzer type="index"> >> <tokenizer class="solr.**WhitespaceTokenizerFactory"/> >> <filter class="solr.StopFilterFactory" ignoreCase="true" >> words="stopwords.txt" enablePositionIncrements="**true"/> >> <filter class="solr.**SynonymFilterFactory" >> synonyms="synonyms.txt" >> ignoreCase="true" expand="true"/> >> <filter class="solr.**WordDelimiterFilterFactory" >> generateWordParts="1" generateNumberParts="1" catenateWords="1" >> catenateNumbers="1" catenateAll="1" splitOnCaseChange="0" >> splitOnNumerics="0" preserveOriginal="0"/> >> <filter class="solr.**LowerCaseFilterFactory"/> >> <filter class="solr.**PatternReplaceFilterFactory" pattern="0" >> replacement="o" replace="all"/> >> <filter class="solr.**PatternReplaceFilterFactory" pattern="1|l" >> replacement="i" replace="all"/> >> <filter class="solr.**NGramFilterFactory" minGramSize="4" >> maxGramSize="16"/> >> <filter class="solr.**RemoveDuplicatesTokenFilterFac**tory"/> >> </analyzer> >> <analyzer type="query"> >> <tokenizer class="solr.**NGramTokenizerFactory" minGramSize="4" >> maxGramSize="16" /> >> <filter class="solr.StopFilterFactory" ignoreCase="true" >> words="stopwords.txt" enablePositionIncrements="**true"/> >> <filter class="solr.**PatternReplaceFilterFactory" >> pattern="[^A-Za-z0-9]+" replacement="" replace="all"/> >> <filter class="solr.**LowerCaseFilterFactory"/> >> <filter class="solr.**PatternReplaceFilterFactory" pattern="0" >> replacement="o" replace="all"/> >> <filter class="solr.**PatternReplaceFilterFactory" pattern="1|l" >> replacement="i" replace="all"/> >> <filter class="solr.**RemoveDuplicatesTokenFilterFac**tory"/> >> </analyzer> >> </fieldType> >> >> >> [image: SearchSpring | Findability Unleashed] >> >> James Bathgate | Sr. Developer >> >> Toll Free (888) 643-9043 x610 - Fax (719) 358-2027 >> >> 4291 Austin Bluffs Pkwy #206 | Colorado Springs, CO 80918 >> www.searchspring.net <http://www.searchspring.net> >> >> >> >> On Thu, Jul 11, 2013 at 2:15 PM, James Bathgate <ja...@b7interactive.com> >> **wrote: >> >> Jack, >>> >>> This still isn't working. I just upgraded to 3.6.2 to verify that wasn't >>> the issue. >>> >>> Here's query information: >>> >>> <lst name="params"> >>> >>> <str name="debugQuery">on</str> >>> <str name="indent">on</str> >>> <str name="start">0</str> >>> <str name="q">0_extrafield1_n:**20454</str> >>> <str name="rows">10</str> >>> <str name="version">2.2</str> >>> </lst> >>> </lst> >>> <result name="response" numFound="0" start="0"/> >>> <lst name="debug"> >>> <str name="rawquerystring">0_**extrafield1_n:20454</str> >>> <str name="querystring">0_**extrafield1_n:20454</str> >>> <str name="parsedquery">**PhraseQuery(0_extrafield1_n:"**2o45 o454 >>> 2o454")</str> >>> >>> <str name="parsedquery_toString">0_**extrafield1_n:"2o45 o454 >>> 2o454"</str> >>> <lst name="explain"/> >>> <str name="QParser">LuceneQParser</**str> >>> >>> >>> Here's the applicable lines from schema.xml: >>> >>> <fieldType name="ngram" class="solr.TextField" >>> positionIncrementGap="100" autoGeneratePhraseQueries="**false"> >>> >>> <analyzer type="index"> >>> <tokenizer class="solr.**WhitespaceTokenizerFactory"/> >>> <filter class="solr.StopFilterFactory" ignoreCase="true" >>> words="stopwords.txt" enablePositionIncrements="**true"/> >>> <filter class="solr.**SynonymFilterFactory" >>> synonyms="synonyms.txt" >>> ignoreCase="true" expand="true"/> >>> <filter class="solr.**WordDelimiterFilterFactory" >>> generateWordParts="1" generateNumberParts="1" catenateWords="1" >>> catenateNumbers="1" catenateAll="1" splitOnCaseChange="0" >>> splitOnNumerics="0" preserveOriginal="0"/> >>> <filter class="solr.**LowerCaseFilterFactory"/> >>> <filter class="solr.**PatternReplaceFilterFactory" pattern="0" >>> replacement="o" replace="all"/> >>> <filter class="solr.**PatternReplaceFilterFactory" pattern="1|l" >>> replacement="i" replace="all"/> >>> <filter class="solr.**NGramFilterFactory" minGramSize="4" >>> maxGramSize="16"/> >>> <filter class="solr.**RemoveDuplicatesTokenFilterFac**tory"/> >>> </analyzer> >>> <analyzer type="query"> >>> <tokenizer class="solr.**NGramTokenizerFactory" minGramSize="4" >>> maxGramSize="16" /> >>> <tokenizer class="solr.**WhitespaceTokenizerFactory"/> >>> <filter class="solr.StopFilterFactory" ignoreCase="true" >>> words="stopwords.txt" enablePositionIncrements="**true"/> >>> <filter class="solr.**PatternReplaceFilterFactory" >>> pattern="[^A-Za-z0-9]+" replacement="" replace="all"/> >>> <filter class="solr.**LowerCaseFilterFactory"/> >>> <filter class="solr.**PatternReplaceFilterFactory" pattern="0" >>> replacement="o" replace="all"/> >>> <filter class="solr.**PatternReplaceFilterFactory" pattern="1|l" >>> replacement="i" replace="all"/> >>> <!--<filter class="solr.**NGramFilterFactory" minGramSize="4" >>> maxGramSize="4" />--> >>> >>> <filter class="solr.**RemoveDuplicatesTokenFilterFac**tory"/> >>> </analyzer> >>> </fieldType> >>> >>> <dynamicField name="*_n" type="ngram" indexed="true" stored="true" /> >>> >>> It looks like it's generating phrases to me even though I have it set to >>> false. >>> >>> James >>> >>> >>> [image: SearchSpring | Findability Unleashed] >>> >>> James Bathgate | Sr. Developer >>> >>> Toll Free (888) 643-9043 x610 - Fax (719) 358-2027 >>> >>> 4291 Austin Bluffs Pkwy #206 | Colorado Springs, CO 80918 >>> www.searchspring.net <http://www.searchspring.net> >>> >>> >>> On Tue, Jul 2, 2013 at 2:47 PM, Jack Krupansky <j...@basetechnology.com> >>> **wrote: >>> >>> Ahhh... you put autoGeneratePhraseQueries="****false" on the field - >>>> but >>>> >>>> it needs to be on the field type. >>>> >>>> You can see from the parsed query that it generated the phrase. >>>> >>>> >>>> -- Jack Krupansky >>>> >>>> -----Original Message----- From: James Bathgate >>>> Sent: Tuesday, July 02, 2013 5:35 PM >>>> To: solr-user@lucene.apache.org >>>> Subject: Re: Partial Matching in both query and field >>>> >>>> >>>> Jack, >>>> >>>> I've already tried that, here's my query: >>>> >>>> <str name="debugQuery">on</str> >>>> <str name="indent">on</str> >>>> <str name="start">0</str> >>>> <str name="q">0_extrafield1_n:****20454</str> >>>> >>>> <str name="q.op">OR</str> >>>> <str name="rows">10</str> >>>> <str name="version">2.2</str> >>>> >>>> Here's the parsed query: >>>> >>>> <str name="parsedquery_toString">0_****extrafield1_n:"2o45 o454 >>>> >>>> 2o454"</str> >>>> >>>> Here's the applicable lines from schema.xml: >>>> >>>> <fieldType name="ngram" class="solr.TextField" >>>> positionIncrementGap="100"> >>>> <analyzer type="index"> >>>> <tokenizer class="solr.****WhitespaceTokenizerFactory"/> >>>> >>>> <filter class="solr.StopFilterFactory" ignoreCase="true" >>>> words="stopwords.txt" enablePositionIncrements="****true"/> >>>> <filter class="solr.****SynonymFilterFactory" >>>> >>>> synonyms="synonyms.txt" >>>> ignoreCase="true" expand="true"/> >>>> <filter class="solr.****WordDelimiterFilterFactory" >>>> >>>> generateWordParts="1" generateNumberParts="1" catenateWords="1" >>>> catenateNumbers="1" catenateAll="1" splitOnCaseChange="0" >>>> splitOnNumerics="0" preserveOriginal="0"/> >>>> <filter class="solr.****LowerCaseFilterFactory"/> >>>> <filter class="solr.****PatternReplaceFilterFactory" pattern="0" >>>> >>>> replacement="o" replace="all"/> >>>> <filter class="solr.****PatternReplaceFilterFactory" >>>> pattern="1|l" >>>> >>>> replacement="i" replace="all"/> >>>> <filter class="solr.****NGramFilterFactory" minGramSize="4" >>>> maxGramSize="16"/> >>>> <filter class="solr.****RemoveDuplicatesTokenFilterFac** >>>> **tory"/> >>>> </analyzer> >>>> <analyzer type="query"> >>>> <tokenizer class="solr.****NGramTokenizerFactory" >>>> minGramSize="4" >>>> >>>> maxGramSize="16" /> >>>> <filter class="solr.StopFilterFactory" ignoreCase="true" >>>> words="stopwords.txt" enablePositionIncrements="****true"/> >>>> <filter class="solr.****PatternReplaceFilterFactory" >>>> >>>> pattern="[^A-Za-z0-9]+" replacement="" replace="all"/> >>>> <filter class="solr.****LowerCaseFilterFactory"/> >>>> <filter class="solr.****PatternReplaceFilterFactory" pattern="0" >>>> >>>> replacement="o" replace="all"/> >>>> <filter class="solr.****PatternReplaceFilterFactory" >>>> pattern="1|l" >>>> >>>> replacement="i" replace="all"/> >>>> <filter class="solr.****RemoveDuplicatesTokenFilterFac** >>>> **tory"/> >>>> >>>> </analyzer> >>>> </fieldType> >>>> >>>> <dynamicField name="*_n" type="ngram" indexed="true" stored="true" >>>> autoGeneratePhraseQueries="****false" /> >>>> >>>> >>>> >>>> James >>>> >>>> >>>> [image: SearchSpring | Findability Unleashed] >>>> >>>> James Bathgate | Sr. Developer >>>> >>>> Toll Free (888) 643-9043 x610 - Fax (719) 358-2027 >>>> >>>> 4291 Austin Bluffs Pkwy #206 | Colorado Springs, CO 80918 >>>> www.searchspring.net <http://www.searchspring.net> >>>> >>>> >>>> >>>> On Tue, Jul 2, 2013 at 2:22 PM, Jack Krupansky <j...@basetechnology.com >>>> >* >>>> *wrote: >>>> >>>> >>>> You will need to set q.op to "OR", and... use a field type that has the >>>> >>>>> autoGeneratePhraseQueries attribute set to "false". >>>>> >>>>> -- Jack Krupansky >>>>> >>>>> -----Original Message----- From: James Bathgate >>>>> Sent: Tuesday, July 02, 2013 5:10 PM >>>>> To: solr-user@lucene.apache.org >>>>> Subject: Partial Matching in both query and field >>>>> >>>>> >>>>> Given a string of "123456" and a search query "923459", what should the >>>>> schema look like to consider this a match because at least 4 >>>>> consecutive >>>>> in >>>>> characters the query match 4 consecutive characters in the data? I'm >>>>> trying >>>>> an NGramFilterFactory on the index and NGramTokenizerFactory on the >>>>> query >>>>> in the schema, but that's not working. >>>>> >>>>> I believe the problem is 'field:923459' is parsed as 'field:"9234 2345 >>>>> 3459"' instead of 'field:9234 field:2345 field:3459'. >>>>> >>>>> [image: SearchSpring | Findability Unleashed] >>>>> >>>>> James Bathgate | Sr. Developer >>>>> >>>>> Toll Free (888) 643-9043 x610 - Fax (719) 358-2027 >>>>> >>>>> 4291 Austin Bluffs Pkwy #206 | Colorado Springs, CO 80918 >>>>> www.searchspring.net <http://www.searchspring.net> >>>>> >>>>> >>>>> >>>> >>> >> >