Hi,

The query z-score doesn't match a doc with zscore in the index. The analysis 
tool shows that this query would match this data in the index, but it's the 
edismax query parser step that seems to screw things up. Is there some 
combination of autoGeneratePhraseQueries, WordDelimiterFilterFactory 
parameters, and/or something else I can change or add to generically make the 
query match without modifying the mm? ie. without adding a rule to specifically 
synonymize or split the term "zscore" with some dictionary of words.

The query I want to match but doesn't:
z-score
mm=-30%

In the index:
zscore

The analyzer: 

<fieldType autoGeneratePhraseQueries="false" class="solr.TextField" 
name="lowStopText" positionIncrementGap="100"> 

<analyzer type="index"> 
   <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
 <filter catenateAll="1" catenateNumbers="1" catenateWords="1" 
class="solr.WordDelimiterFilterFactory" preserveOriginal="1" 
splitOnCaseChange="0" splitOnNumerics="0" types="wdfftypes.txt"/> 
 <filter class="solr.ICUFoldingFilterFactory"/> 
</analyzer> 

<analyzer type="query"> 
<tokenizer class="solr.WhitespaceTokenizerFactory"/> 
<filter catenateAll="1" catenateNumbers="1" catenateWords="1" 
class="solr.WordDelimiterFilterFactory" preserveOriginal="1" 
splitOnCaseChange="0" splitOnNumerics="0" types="wdfftypes.txt"/> 
<filter class="solr.ICUFoldingFilterFactory"/> 
<filter class="solr.StopFilterFactory" enablePositionIncrements="true" 
ignoreCase="true" words="stopwords.txt"/>
</analyzer> 
</fieldType>

The parsed edismax query with autoGeneratePhraseQueries=true:
"+(def_term:\"(z-score z) (score zscore)\")"

The parsed edismax query with autoGeneratePhraseQueries=false:
"+(((def_term:z-score def_term:z def_term:score def_term:zscore)~3))"

Thanks
Vardhan                                           

Reply via email to