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 ?????? Â Ë³Ë <[email protected]>
>
>> On Sun, Nov 1, 2009 at 11:59 PM, Bertie Shen <[email protected]>
>> 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:[email protected]
Techmore Ltd Phone:(UK) 07721 376021
Unix/Mac/Intranets Analyst Programmer
===============================================================