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