in my tests both seems to be working. I had misspelt the column as "catgoryname" is that why?
keep in mind that you get extra docs for each "category" also On Thu, Sep 10, 2009 at 5:53 PM, venn hardy <venn.ha...@hotmail.com> wrote: > > Hi Paul, > The forEach="/document/category/item | /document/category/name" didn't work > (no categoryname was stored or indexed). > However forEach="/document/category/item | /document/category" seems to work > well. I am not sure why category on its own works, but not category/name... > But thanks for tip. It wasn't as painful as I thought it would be. > Venn > >> From: noble.p...@corp.aol.com >> Date: Thu, 10 Sep 2009 09:58:21 +0530 >> Subject: Re: Extract info from parent node during data import >> To: solr-user@lucene.apache.org >> >> try this >> >> add two xpaths in your forEach >> >> forEach="/document/category/item | /document/category/name" >> >> and add a field as follows >> >> <field column="catgoryname" xpath ="/document/category/name" >> commonField="true"/> >> >> Please try it out and let me know. >> >> On Thu, Sep 10, 2009 at 7:30 AM, venn hardy <venn.ha...@hotmail.com> wrote: >> > >> > Hello, >> > >> > >> > >> > I am using SOLR 1.4 (from nighly build) and its URLDataSource in >> > conjunction with the XPathEntityProcessor. I have successfully imported >> > XML content, but I think I may have found a limitation when it comes to >> > the commonField attribute in the DataImportHandler. >> > >> > >> > >> > Before writing my own parser to read in a whole XML document, I thought >> > I'd post the question here (since I got some great advice last time). >> > >> > >> > >> > The bulk of my content is contained within each <item> tag. However, each >> > item has a parent called <category> and each category has a name which I >> > would like to import. In my forEach loop I specify the >> > /document/category/item as the collection of items I am interested in. Is >> > there anyway to extract an element from underneath a parent node? To be a >> > more more specific (see eg xml below). I would like to index the following: >> > >> > - category: Category 1; id: 1; author: Author 1 >> > >> > - category: Category 1; id: 2; author: Author 2 >> > >> > - category: Category 2; id: 3; author: Author 3 >> > >> > - category: Category 2; id: 4; author: Author 4 >> > >> > >> > >> > Any ideas on how I can get to a parent node from within a child during >> > data import? If it cant be done, what do you suggest would be the best way >> > so I can keep using the DataImportHandler... would XSLT be a good idea to >> > 'flatten out' the structure a bit? >> > >> > >> > >> > Thanks >> > >> > >> > >> > This is what my XML document looks like: >> > >> > <document> >> > <category> >> > <name>Category 1</name> >> > <item> >> > <id>1</id> >> > <author>Author 1</author> >> > </item> >> > <item> >> > <id>2</id> >> > <author>Author 2</author> >> > </item> >> > </category> >> > <category> >> > <name>Category 2</name> >> > <item> >> > <id>3</id> >> > <author>Author 3</author> >> > </item> >> > <item> >> > <id>4</id> >> > <author>Author 4</author> >> > </item> >> > </category> >> > </document> >> > >> > >> > >> > And this is what my dataConfig looks like: >> > <dataConfig> >> > <dataSource type="URLDataSource" /> >> > <document> >> > <entity name="archive" pk="id" >> > url="http://localhost:9080/data/20090817070752.xml" >> > processor="XPathEntityProcessor" forEach="/document/category/item" >> > transformer="DateFormatTransformer" stream="true" dataSource="dataSource"> >> > <field column="category" xpath="/document/category/name" >> > commonField="true" /> >> > <field column="id" xpath="/document/category/item/id" /> >> > <field column="author" xpath="/document/category/item/author" /> >> > </entity> >> > </document> >> > </dataConfig> >> > >> > >> > >> > This is how I have specified my schema >> > <fields> >> > <field name="id" type="string" indexed="true" stored="true" >> > required="true" /> >> > <field name="author" type="string" indexed="true" stored="true"/> >> > <field name="category" type="string" indexed="true" stored="true"/> >> > </fields> >> > >> > <uniqueKey>id</uniqueKey> >> > <defaultSearchField>id</defaultSearchField> >> > >> > >> > >> > >> > >> > >> > _________________________________________________________________ >> > Need a place to rent, buy or share? Let us find your next place for you! >> > http://clk.atdmt.com/NMN/go/157631292/direct/01/ >> >> >> >> -- >> ----------------------------------------------------- >> Noble Paul | Principal Engineer| AOL | http://aol.com > > _________________________________________________________________ > Get Hotmail on your iPhone Find out how here > http://windowslive.ninemsn.com.au/article.aspx?id=845706 -- ----------------------------------------------------- Noble Paul | Principal Engineer| AOL | http://aol.com