Yes Solr does. But DataImportHandler with the 1.3 release does not support
it.

However, you can use the trunk data import handler jar with Solr 1.3 if you
do not feel comfortable using Solr 1.4 trunk.

On Fri, Jan 23, 2009 at 1:36 PM, Gunaranjan Chandraraju <
chandrar...@apple.com> wrote:

>
> I thought 1.3 supported dynamic fields in schema.xml?
>
> Guna
>
>
> On Jan 22, 2009, at 11:54 PM, Shalin Shekhar Mangar wrote:
>
>  Oops, one more gotcha. The dynamic field support is only in 1.4 trunk.
>>
>> On Fri, Jan 23, 2009 at 1:24 PM, Shalin Shekhar Mangar <
>> shalinman...@gmail.com> wrote:
>>
>>  On Fri, Jan 23, 2009 at 1:08 PM, Gunaranjan Chandraraju <
>>> chandrar...@apple.com> wrote:
>>>
>>>
>>>> <record>
>>>>  <coreInfo id="123" , .../>
>>>>  <address street="XYZ1" State="CA" ...type="home" />
>>>>  <address street="XYZ2" state="CA" ... type="Office"/>
>>>>  <address street="XYZ3" state="CA" ....type="Other"/>
>>>> </record>
>>>>
>>>> I have setup my DIH to treat these as entities as below
>>>>
>>>> <dataConfig>
>>>>  <dataSource type="FileDataSource" encoding="UTF-8" />
>>>>  <document>
>>>>   <entity name ="f" processor="FileListEntityProcessor"
>>>>           baseDir="***"
>>>>           fileName=".*xml"
>>>>           rootEntity="false"
>>>>           dataSource="null" >
>>>>      <entity
>>>>         name="record"
>>>>         processor="XPathEntityProcessor"
>>>>         stream="false"
>>>>         forEach="/record"
>>>>         url="${f.fileAbsolutePath}">
>>>>              <field column="ID" xpath="/record/@id" />
>>>>
>>>>              <!-- Address  -->
>>>>               <entity
>>>>                   name="record_adr"
>>>>                   processor="XPathEntityProcessor"
>>>>                   stream="false"
>>>>                   forEach="/record/address"
>>>>                   url="${f.fileAbsolutePath}">
>>>>                       <field column="address_street"
>>>> xpath="/record/address/@street" />
>>>>                       <field column="address_state"
>>>> xpath="/record/address//@state" />
>>>>                       <field column="address_type"
>>>> xpath="/record/address//@type" />
>>>>              </entity>
>>>>         </entity>
>>>>   </entity>
>>>>  </document>
>>>> </dataConfig>
>>>>
>>>>
>>> I think the only way is to create a dynamic field for each attribute
>>> (street, state etc.). Write a transformer to copy the fields from your
>>> data
>>> config to appropriately named dynamic field (e.g. street_1, state_1,
>>> etc).
>>> To maintain this counter you will need to get/store it with
>>> Context#getSessionAttribute(name, val, Context.SCOPE_DOC) and
>>> Context#setSessionAttribute(name, val, Context.SCOPE_DOC).
>>>
>>> I cant't think of an easier way.
>>> --
>>> Regards,
>>> Shalin Shekhar Mangar.
>>>
>>>
>>
>>
>> --
>> Regards,
>> Shalin Shekhar Mangar.
>>
>
>


-- 
Regards,
Shalin Shekhar Mangar.

Reply via email to