2010-05-30 60 views

回答

4

使用Java 6,您可以使用Xpath從您的xml文件中獲取所需的內容。然後,您從您從xml中提取的內容填充SolrInputDocument。當該文件包含您需要的所有內容時,請使用方法SolrServer將其提交給Solr。

5

謝謝帕斯卡。我想念我的問題,我實際上在使用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路徑,它必須是「/更新」,而且可變XML是一個包含XML字符串。例如

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

你知道,如果這也可以用於JSON和javabin? – Stainedart 2013-12-04 01:09:09

-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(); 
} 
相關問題