Hi,
We are using the following configuration:
------------------------------------------
*Schema: *
<fieldType name="text_en_splitting_custom" class="solr.TextField"
positionIncrementGap="100" autoGeneratePhraseQueries="true"
omitNorms="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LengthFilterFactory" min="1" max="100"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordRepeatFilterFactory" />
<filter class="solr.HunspellStemFilterFactory"
dictionary="../hunspell_dictionary/en_US.dic"
affix="../hunspell_dictionary/en_US.aff" ignoreCase="true" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory" /
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LengthFilterFactory" min="1" max="100"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.*ManagedSynonymGraphFilterFactory*" managed="${
solr.core.name}_english"/>
<filter class="solr.KeywordRepeatFilterFactory" />
<filter class="solr.HunspellStemFilterFactory"
dictionary="../hunspell_dictionary/en_US.dic"
affix="../hunspell_dictionary/en_US.aff" ignoreCase="true" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
</fieldType>
--------------------------------
*Managed Synonyms:* "abc implement", "bike", "xyz traders", "xyz transport"
---------------------------------
*Query*: bike
*parser Type:* edismax
---------------------------------
*Parsed query (from debug)* : +DisjunctionMaxQuery((((field1:"abc
implement" field1:bike field1:"xyz traders" field1:"xyz trade"))
---------------------------------
If you notice, there are 2 multi-word keywords starting with xyz, but only
1 of them is getting added to the query. If we change xyz transport to xy
transport, then it works properly. The issue is only when the 2 multi-word
keywords start with the same word. Though we are using graph synonyms, it
is not working properly.
Are we doing anything wrong here?
Thanks,
Manish.