tags:

views:

236

answers:

2

How can I load data from an xml file into solr using the solrj API?

+2  A: 

With Java 6, you can use Xpath to fetch what you need from your xml file. Then, you populate a SolrInputDocument from what you extracted from the xml. When that document contains everything you need, you submit it to Solr using the add method of SolrServer.

Pascal Dimassimo
A: 

Thanks Pascal. I miss worded my question, I'm actually using groovy. But in any event your approach does work, but this was my solution:

CommonsHttpSolrServer server = SolrServerSingleton.getInstance().getServer(); 
def dataDir = System.getProperty("user.dir"); 
File xmlFile = new File(dataDir+"/book.xml"); 
def xml = xmlFile.getText(); 
DirectXmlRequest xmlreq = new DirectXmlRequest( "/update", xml); 
server.request(xmlreq); server.commit(); 

The first arg to DirectXmlRequest is a url path, it must be "/update" and that the variable xml is a string containing the XML. For example

"<add><doc><field name="title">blah</field></doc></add>"

maximus