You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shingo Sasaki (JIRA)" <ji...@apache.org> on 2013/05/13 12:43:16 UTC

[jira] [Updated] (SOLR-4813) Unavoidable IllegalArgumentException occurs when SynonymFilterFactory's setting has tokenizer's parameter.

     [ https://issues.apache.org/jira/browse/SOLR-4813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shingo Sasaki updated SOLR-4813:
--------------------------------

    Attachment: SOLR-4813.patch

I posted the patch of bug fix and improvement. Please review it. 

The improvement is following.

{quote}
If TokenizerFactory's parameter name is the same as SynonymFilterFactory's parameter name, you must add prefix "tokenizerFactory." to TokenizerFactory's parameter name.
{quote}
                
> Unavoidable IllegalArgumentException occurs when SynonymFilterFactory's setting has tokenizer's parameter.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-4813
>                 URL: https://issues.apache.org/jira/browse/SOLR-4813
>             Project: Solr
>          Issue Type: Bug
>          Components: Schema and Analysis
>    Affects Versions: 4.3
>            Reporter: Shingo Sasaki
>            Priority: Critical
>              Labels: SynonymFilterFactory
>         Attachments: SOLR-4813.patch
>
>
> When I write SynonymFilterFactory' setting in schema.xml as follows, ...
> {code:xml}
> <analyzer>
>   <tokenizer class="solr.NGramTokenizerFactory" maxGramSize="2" minGramSize="2"/>
>   <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"
>    tokenizerFactory="solr.NGramTokenizerFactory" maxGramSize="2" minGramSize="2"/>
> </analyzer>
> {code}
> IllegalArgumentException ("Unknown parameters") occurs.
> {noformat}
> Caused by: java.lang.IllegalArgumentException: Unknown parameters: {maxGramSize=2, minGramSize=2}
> 	at org.apache.lucene.analysis.synonym.FSTSynonymFilterFactory.<init>(FSTSynonymFilterFactory.java:71)
> 	at org.apache.lucene.analysis.synonym.SynonymFilterFactory.<init>(SynonymFilterFactory.java:50)
> 	... 28 more
> {noformat}
> However TokenizerFactory's params should be set to loadTokenizerFactory method in [FST|Slow]SynonymFilterFactory. (ref. SOLR-2909)
> I think, the problem was caused by LUCENE-4877 ("Fix analyzer factories to throw exception when arguments are invalid") and SOLR-3402 ("Parse Version outside of Analysis Factories").

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org