for searching you need to put them in a single field . use <copyField>
in schema.xml to achieve that

On Sun, Jan 25, 2009 at 7:39 AM, Gunaranjan Chandraraju
<chandrar...@apple.com> wrote:
> I make this approach work with XPATH and XSL.   However, this approach
> creates multiple fields of like this
>
> address_state_1
> address_state_2
> ...
> address_state_10
>
> and
>
> credit_card_1
> credit_card_2
> credit_card_3
>
>
> How do I search for a credit_card.    The query syntax does not seem to
> support wild cards in field names.   For e.g. I cant seem to do this ->
> credit_card*:1234 4567 7890 1234
>
> On the search side I would not know how many credit card fields  got created
> for a document and so I need that to be dynamic.
>
> -g
>
>
> 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.
>
>



-- 
--Noble Paul

Reply via email to