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 <[email protected]> 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 < >> [email protected]> wrote: >> >>> On Fri, Jan 23, 2009 at 1:08 PM, Gunaranjan Chandraraju < >>> [email protected]> 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
