有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (3) 个答案

  1. # 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. # 2 楼答案

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

  3. # 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>