繁体   English   中英

使用solrj和java以编程方式将数据加载到solr中

[英]Programmatically load data into solr using solrj and java

如何使用solrj API将数据从xml文件加载到solr?

谢谢Pascal。 我想念我的问题,我实际上正在使用groovy。 但无论如何你的方法确实有效,但这是我的解决方案:

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(); 

DirectXmlRequest的第一个arg是url路径,它必须是“/ update”,并且变量xml是包含XML的字符串。 例如

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

使用Java 6,您可以使用Xpath从xml文件中获取所需内容。 然后,从您从xml中提取的内容填充SolrInputDocument 当该文档包含您需要的所有内容时,您可以使用SolrServeradd方法将其提交给Solr。

SolrClient client = new HttpSolrClient("http://localhost:8983/solr/jiva/");
String dataDir = System.getProperty("user.dir");    
File xmlFile = new File(dataDir + "/Alovera-Juice.xml");
if (xmlFile.exists()) {
    InputStream is = new FileInputStream(xmlFile);
    String str = IOUtils.toString(is);
    DirectXmlRequest dxr = new DirectXmlRequest("/update", str);
    client.request(dxr);
    client.commit();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM