http://blog.csdn.net/u014783753/article/details/28865897
介绍了solr导入数据的三种方法的第三种方式:通过solrj导入数据
在这种方式中,通过SolrInputStream导入数据
现在介绍POJOS导入数据,参考文档:http://wiki.apache.org/solr/Solrj#Streaming_documents_for_an_update
代码解释如下:
定义POJO对象ItemBean
package com.newxyzstore.po;
import org.apache.solr.client.solrj.beans.Field;
public class ItemBean {
@Field
public String id;
@Field
public String type;
@Field
public String name;
}
导入数据类:
package com.newxyzstore.test;
import java.io.IOException;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import com.newxyzstore.po.ItemBean;
public class PoJosDataImportHandlerTest {
public static void main(String[] args){
ItemBean item = new ItemBean();
item.id = "id5_solrj_PoJo";
item.type = "doc5_solrj_Pojo";
item.name = "name5_solrj_Pojo";
@SuppressWarnings("unused")
HttpSolrServer server = (HttpSolrServer)SolrServerService.getServer();
HttpSolrServer server2 = (HttpSolrServer)SolrServerService.getServer();
try {
server2.addBean(item);
server2.commit();
} catch (IOException e) {
System.out.println("server commit error, error code:");
e.printStackTrace();
} catch (SolrServerException e) {
System.out.println("server commit error, error code:");
e.printStackTrace();
}
}
}
SolrServerService代码解释
package com.newxyzstore.test;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
public class SolrServerService {
private static SolrServer server;
public static SolrServer getServer(){
if(server == null){
String solrURL = "http://localhost:8080/solr";
server = new HttpSolrServer(solrURL);
return server;
}
return server;
}
}