# 1 楼答案 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(); }
# 2 楼答案 使用Java6,您可以使用Xpath从xml文件中获取所需内容。然后,根据从xml中提取的内容填充SolrInputDocument。当该文档包含您需要的所有内容时,您可以使用SolrServer的add方法将其提交给Solr
# 3 楼答案 谢谢你,帕斯卡。我忘记了我的问题的措辞,我实际上在使用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的第一个参数是url路径,它必须是“/update”,并且变量xml是包含xml的字符串。比如说 <add> <doc> <field name="title">blah</field> </doc> </add>
# 1 楼答案
# 2 楼答案
使用Java6,您可以使用Xpath从xml文件中获取所需内容。然后,根据从xml中提取的内容填充SolrInputDocument。当该文档包含您需要的所有内容时,您可以使用SolrServer的add方法将其提交给Solr
# 3 楼答案
谢谢你,帕斯卡。我忘记了我的问题的措辞,我实际上在使用groovy。但无论如何,您的方法确实有效,但这是我的解决方案:
DirectXmlRequest的第一个参数是url路径,它必须是“/update”,并且变量xml是包含xml的字符串。比如说