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