Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用solrj和java以编程方式将数据加载到solr中_Java_Xml_Solr_Solrj - Fatal编程技术网

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

使用solrj和java以编程方式将数据加载到solr中,java,xml,solr,solrj,Java,Xml,Solr,Solrj,如何使用solrj API将xml文件中的数据加载到solr中?使用Java 6,您可以使用从xml文件中获取所需内容。然后,根据从xml中提取的内容填充。当该文档包含您需要的所有内容时,您可以使用的添加方法将其提交给Solr。谢谢Pascal。我忘记了我的问题的措辞,我实际上在使用groovy。但无论如何,您的方法确实有效,但这是我的解决方案: CommonsHttpSolrServer server = SolrServerSingleton.getInstance().getServer(

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

使用Java 6,您可以使用从xml文件中获取所需内容。然后,根据从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的第一个参数是url路径,它必须是“/update”,并且变量xml是包含xml的字符串。比如说

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

废话

您知道这是否也可以用于json和javabin吗?
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();
}