Well, the example you linked to is based on 3.6, and things have
changed assuming you're using 4.0.

It's probably that your ContentFilter isn't implementing what it needs to
or it's not subclassing from the correct class for 4.0.

Maybe take a look at something simple like LowerCaseFilterFactory
and use that as a model, although you probably don't need to implement
the MultiTermAware bit.

FWIW,
Erick


On Thu, Nov 7, 2013 at 1:31 PM, Dileepa Jayakody
<dileepajayak...@gmail.com>wrote:

> Hi All,
>
> I'm  a novice in Solr and I'm continuously bumping into problems with my
> custom filter I'm trying to use for analyzing a fieldType during indexing
> as below;
>
> <fieldType name="stanbolRequestType" class="solr.TextField">
>   <analyzer type="index">
>     <tokenizer class="solr.KeywordTokenizerFactory"/>
>     <filter class= "com.solr.test.analyzer.ContentFilterFactory"/>
>   </analyzer>
> </fieldType>
>
> Below is my custom FilterFactory class;
>
> *public class ContentFilterFactory extends TokenFilterFactory {*
>
> * public ContentFilterFactory() {*
> * super();*
> * }*
>
> * @Override*
> * public TokenStream create(TokenStream input) {*
> * return new ContentFilter(input);*
> * }*
> *}*
>
> I'm getting below error stack trace [1] caused by a NoSuchMethodException
> when starting the server.
> Solr complains that it cannot init the Plugin (my custom filter)  as the
> FilterFactory class doesn't have a init method; But in the example [2] I
> was following didn't have any notion of a init method in the FilterFactory
> class, nor I was required to override an init method when extending
> TokenFilterFactory class.
>
> Can someone please help me resolve this error and get my custom filter
> working?
>
> Thanks,
> Dileepa
>
> [1]
> Caused by: org.apache.solr.common.SolrException: Plugin init failure for
> [schema.xml] fieldType "stanbolRequestType": Plugin init failure for
> [schema.xml] analyzer/filter: Error instantiating class:
> 'com.solr.test.analyzer.ContentFilterFactory'
> at
>
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)
> at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:468)
> ... 13 more
> Caused by: org.apache.solr.common.SolrException: Plugin init failure for
> [schema.xml] analyzer/filter: Error instantiating class:
> 'com.solr.test.analyzer.ContentFilterFactory'
> at
>
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:400)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:95)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43)
> at
>
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
> ... 14 more
> Caused by: org.apache.solr.common.SolrException: Error instantiating class:
> 'com.solr.test.analyzer.ContentFilterFactory'
> at
>
> org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:556)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader$3.create(FieldTypePluginLoader.java:382)
> at
>
> org.apache.solr.schema.FieldTypePluginLoader$3.create(FieldTypePluginLoader.java:376)
> at
>
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
> ... 18 more
> Caused by: java.lang.NoSuchMethodException:
> com.solr.test.analyzer.ContentFilterFactory.<init>(java.util.Map)
> at java.lang.Class.getConstructor0(Class.java:2810)
> at java.lang.Class.getConstructor(Class.java:1718)
> at
>
> org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:552)
> ... 21 more
>
> [2] http://solr.pl/en/2012/05/14/developing-your-own-solr-filter/
>

Reply via email to