Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
4.0, 4.0.1, 4.1, 4.2
-
None
Description
Using the solr 4.0 example, if I add an optional tokenizerFactory ( as per http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory ) to the synonymFilter for the "text_general" field type:
<filter class="solr.SynonymFilterFactory"
synonyms="synonyms.txt"
tokenizerFactory="solr.StandardTokenizerFactory"
ignoreCase="true"
expand="true"/>
I receive the error at startup:
SEVERE: null:java.lang.IllegalArgumentException: Configuration Error: Factory 'org.apache.lucene.analysis.standard.StandardTokenizerFactory' needs a 'luceneMatchVersion' parameter
It also fails if I try adding the param luceneMatchVersion="LUCENE_40" :
<filter class="solr.SynonymFilterFactory"
synonyms="synonyms.txt"
tokenizerFactory="solr.StandardTokenizerFactory"
luceneMatchVersion="LUCENE_40"
ignoreCase="true"
expand="true"/>
----------
It looks like the delegator in the SynonymFilterFactory is not propagating the LUCENE_MATCH_VERSION to the tokenizer. For tokenizers that don't require a match version (whitespace) everything works correctly. This issue seems to be a problem in the 4x branch... trunk removes the code that delegates between the 2 types of synonym filters.