2010-05-30 6 views

ответ

4

С помощью Java 6 вы можете использовать Xpath, чтобы извлечь из своего XML-файла то, что вам нужно. Затем вы заполняете SolrInputDocument из того, что вы извлекли из xml. Когда этот документ содержит все, что вам нужно, отправьте его в Solr, используя метод SolrServer.

5

Спасибо Pascal. Я пропустил свой вопрос, я действительно использую отличный. Но в любом случае ваш подход делает работу, но это было мое решение:

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

-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(); 
}