You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Peter Sturge <pe...@gmail.com> on 2010/11/19 17:21:28 UTC
RE: DataImportHandlerException for custom DIH Transformer
Hi,
This problem is usually because your custom Transformer is in the
solr/lib folder, when it needs to be in the webapps .war file (under
WEB-INF/lib of course).
Place your custom Transformer in a .jar in your .war and you should be
good to go.
Thanks,
Peter
Subject:
RE: DataImportHandlerException for custom DIH Transformer
From:
Vladimir Sutskever <Vl...@...>
Date:
1969-12-31 19:00
I am experiencing a similar situation?
Any comments?
-----Original Message-----
From: Shashikant Kore [mailto:shashikant@gmail.com]
Sent: Wednesday, September 08, 2010 2:54 AM
To: solr-user@lucene.apache.org
Subject: Re: DataImportHandlerException for custom DIH Transformer
Resurrecting an old thread.
I faced exact problem as Tommy and the jar was in {solr.home}/lib as Noble
had suggested.
My custom transformer overrides following method as per the specification of
Transformer class.
public Object transformRow(Map<String, Object> row, Context
context);
But, in the code (EntityProcessorWrapper.java), I see the following line.
final Method meth = clazz.getMethod(TRANSFORM_ROW, Map.class);
This doesn't match the method signature in Transformer. I think this should
be
final Method meth = clazz.getMethod(TRANSFORM_ROW, Map.class,
Context.class);
I have verified that adding a method transformRow(Map<String, Object> row)
works.
Am I missing something?
--shashi
2010/2/8 Noble Paul നോബിള് नोब्ळ् <no...@corp.aol.com>
On Mon, Feb 8, 2010 at 9:13 AM, Tommy Chheng <to...@gmail.com> wrote:
I'm having trouble making a custom DIH transformer in solr
1.4. I compiled the "General TrimTransformer" into a jar. (just
copy/paste
sample
code from http://wiki.apache.org/solr/DIHCustomTransformer) I
placed the jar along with the dataimporthandler jar in solr/lib (same
directory as the jetty jar)
do not keep in solr/lib it wont work. keep it in {solr.home}/lib
Then I added to my DIH data-config.xml file:
transformer="DateFormatTransformer, RegexTransformer,
com.chheng.dih.transformers.TrimTransformer" Now I get this exception
when I try running the import.
org.apache.solr.handler.dataimport.DataImportHandlerException:
java.lang.NoSuchMethodException:
com.chheng.dih.transformers.TrimTransformer.transformRow(java.util.Map)
at
org.apache.solr.handler.dataimport.EntityProcessorWrapper.loadTransformers(EntityProcessorWrapper.java:120)
I noticed the exception lists
TrimTransformer.transformRow(java.util.Map) but the abstract
Transformer class defines a two parameter method:
transformRow(Map<String, Object> row, Context context)? -- Tommy
Chheng Programmer and UC Irvine Graduate Student Twitter @tommychheng
http://tommy.chheng.com
-- ----------------------------------------------------- Noble
Paul | Systems Architect| AOL | http://aol.com