lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fergus McMenemie <fer...@twig.me.uk>
Subject Re: Question about DIH execution order
Date Mon, 02 Nov 2009 22:43:20 GMT
Bertie,

Not sure what you are trying to do, we need a clearer description of
what "select *" returns and what you want to end up in the index. But 
to answer your question The transformations happen after DIH has
performed the SQL statement. In fact the rows output from the SQL
command are assigned to the DIH fields and then any transformations
are applied. The examples in 
	http://wiki.apache.org/solr/DataImportHandler
are quite good.  

>Hi Noble,
>
>   I tried to understand your suggestions and played different variations
>according to your reply.  But none of them work. Can you explain it in  more
>details?
>   Thanks a lot!
>
>
>
>
>BTW, do you mean your solution as follows?
>
><document>
>   <entity name="Course" transformer=" TemplateTransformer" query="select *
>from Course">
>       <field column="TmpCourseId" name="CourseId"
>template="Course:${Course.CourseId}" name="id"/>
>         <entity name="Rating" query="select comment from Rating where
>Rating.CourseId = ${Course.CourseId}">
>           <field column="comment" name="review"/>
>         </entity>
>  </entity>
> </document>
>
> But
>   1) There is no TmpCourseId field column.
>   2) Can we put two name CourseId and id in the same map? It seems not.
>
>
>
>
>
>2009/11/1 Noble Paul ?????? Â Ë³Ë <noble.paul@corp.aol.com>
>
>> On Sun, Nov 1, 2009 at 11:59 PM, Bertie Shen <bertie.shen@gmail.com>
>> wrote:
>> > Hi folks,
>> >
>> >  I have the following data-config.xml. Is there a way to
>> > let transformation take place after executing SQL "select comment from
>> > Rating where Rating.CourseId = ${Course.CourseId}"?  In MySQL database,
>> > column CourseId in table Course is integer 1, 2, etc;
>> > template transformation will make them like Course:1, Course:2; column
>> > CourseId in table Rating is also integer 1, 2, etc.
>> >
>> >  If transformation happens before executing "select comment from Rating
>> > where Rating.CourseId = ${Course.CourseId}", then there will no match for
>> > the SQL statement execution.
>> >
>> >  <document>
>> >     <entity name="Course" transformer="TemplateTransformer" query="select
>> *
>> > from Course">
>> >      <field
>> > column="CourseId" template="Course:${Course.CourseId}" name="id"/>
>> >      <entity name="Rating" query="select comment from Rating where
>> > Rating.CourseId = ${Course.CourseId}">
>> >        <field column="comment" name="review"/>
>> >      </entity>
>> >    </entity>
>> >  </document>
>> >
>>
>> keep the field as follows
>>  <field
>> column="TmpCourseId" name="CourseId"
>> template="Course:${Course.CourseId}" name="id"/>
>>
>>
>>
>>
>> --
>> -----------------------------------------------------
>> Noble Paul | Principal Engineer| AOL | http://aol.com
>>

-- 

===============================================================
Fergus McMenemie               Email:fergus@twig.me.uk
Techmore Ltd                   Phone:(UK) 07721 376021

Unix/Mac/Intranets             Analyst Programmer
===============================================================

Mime
View raw message