2017-05-15 133 views
0

使用java和solr作爲搜索引擎將數據導出爲csv格式。im之後的步驟的順序 - 基於輸入參數進行查詢假設Q - 之後即時創建一個Java Process p來執行該查詢。 - 我從solr服務器得到的響應,我需要將它壓入任何位置的csv文件。Solr將查詢導出爲CSV文件

enter code here 
    String Q = "http://pcam-stg-app-03:9999/solr/brm-royalty/select? 
    q=VENDOR_NAME:\"SOME_NAME\"&f1=vendor_name,vendor_id&wt=csv"; 
    Process p = Runtime.getRuntime().exec(Q); 
    p.getInputStream(); 

這個流我需要在csv文件中寫任何想法?

回答

0

通過所有的結果將其發送到像Apache的百科全書文件實用程序的CSV響應作家和SOLRJ頁面的組合:

FileUtils.writeStringToFile(new File(output.csv), outputLine ("line.separator"), true); 

會安靜快速的在Java中敲起來。

+0

Solrj不支持csv格式的響應。因此,我需要一個httpClient在這裏做request.and比我需要寫入完整的輸入流到csv @Sumit Deshpande – Learn

0

要小心通過查詢進行分頁以獲取所有結果...這是一個反模式。如果查詢返回了很多文檔,並且您想要所有文檔,則需要使用cursorMark

+0

我明白了你的觀點但主要問題是創建一個csv out of inputStream。 我可以在查詢本身中定義行限制。 @Persimmonium – Learn