Chantal Ackermann wrote: > > Hi Andrew, > > your inner entity uses an XML type datasource. The default entity > processor is the SQL one, however. > > For your inner entity, you have to specify the correct entity processor > explicitly. You do that by adding the attribute "processor", and the > value is the classname of the processor you want to use. > > e.g. <entity dataSource="filesystem" name="domain_pdb" > processor="XPathEntityProcessor" .... >
Thanks -- I was also missing a forEach expression -- in my case, just "/" since each XML file contains the information for no more than one document. However, I'm now getting a different exception: 30-Jul-2009 16:48:52 org.apache.solr.handler.dataimport.DocBuilder buildDocument SEVERE: Exception while processing: domain document : SolrInputDocument[{id=id(1.0)={1udaA02}, title=title(1.0)={PDB code 1uda, chain A, domain 02}, pdb_code=pdb_code(1.0)={1uda}, doc_type=doc_type(1.0)={domain}, related_ids=related_ids(1.0)={1uda,1udaA}}] org.apache.solr.handler.dataimport.DataImportHandlerException: Exception while reading xpaths for fields Processing Document # 1 at org.apache.solr.handler.dataimport.XPathEntityProcessor.initXpathReader(XPathEntityProcessor.java:135) at org.apache.solr.handler.dataimport.XPathEntityProcessor.init(XPathEntityProcessor.java:76) at org.apache.solr.handler.dataimport.EntityProcessorWrapper.init(EntityProcessorWrapper.java:71) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:307) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:372) at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:225) at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:167) at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:333) at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:393) at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:372) Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.LinkedList.entry(LinkedList.java:365) at java.util.LinkedList.get(LinkedList.java:315) at org.apache.solr.handler.dataimport.XPathRecordReader.addField0(XPathRecordReader.java:71) at org.apache.solr.handler.dataimport.XPathRecordReader.<init>(XPathRecordReader.java:50) at org.apache.solr.handler.dataimport.XPathEntityProcessor.initXpathReader(XPathEntityProcessor.java:121) ... 9 more My data config now looks like this: <dataConfig> <!-- TODO change this back to v3.3.0 when the appropriate mapping tables are available there --> <dataSource name="database" driver="org.postgresql.Driver" url="jdbc:postgresql://cathdb.info/cathdb_v3_2_0" user="***" password="***" /> <dataSource name="filesystem" type="FileDataSource" basePath="/cath/people/cathdata/v3_3_0/pdb-XML-noatom/" encoding="UTF-8" connectionTimeout="5000" readTimeout="10000"/> <document name="domain"> <entity name="domain" dataSource="database" query="select domain_id as id, 'PDB code ' || pdb_code || ', chain ' || chain_code || ', domain ' || domain_code as title, pdb_code || ',' || chain_id as related_ids, 'domain' as doc_type, pdb_code from domain"> <entity dataSource="filesystem" name="domain_pdb" url="${domain.pdb_code}-noatom.xml" processor="XPathEntityProcessor" forEach="/"> <field column="content" xpath="//*[local-name()='structCategory']/*[local-name()='struct']/*[local-name()='title']" /> </entity> </entity> </document> </dataConfig> Thanks in advance, again :-) Andrew. -- View this message in context: http://www.nabble.com/NullPointerException-in-DataImportHandler-tp24739580p24741292.html Sent from the Solr - User mailing list archive at Nabble.com.