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.