본문 바로가기

IT/frameworks

Solr&Java Index ResultContext

SMALL

ArrayList liad = new ArrayList()

Mapper.selectSolrData(new ResultHandler(){

public void handleResult(RsultContext resultContext){

Map resultMap = resultContext.getResultObject()

SolrInputdocument doc = new SolrInputDocument()

doc.addField("Key","VAlue);

list.add(doc)

if( count >=1000){

 SolrSendThread thread = new SolrSendThread(1000,"URL정보")

thread .setDatas(list)

list.clear()

Thread th = new Thread( thread  );

th.start();

....

.........

}

}

} , parameterMap)

 

.............................................

publuc Class SolrSendThread implements Runnable{

private List<SolrInputDocument> dataList 

private int second ;

private String url

.

 public SolrSendThread(int second , String url )

dataList = new ArrayList<SolrInputDocument>();

this.second  = second 

this. url = url

 

}

 

public synchronized void setData( SolrInputDocument  data){

 this.dataList.add(data);

}

public synchronized void setDatas( List<SolrInputDocument >   data){

 this.dataList.addAll(data);

}

.............................

.............................

 

private void run(){

 while(run){

 try{

 sendData();

Thread.sleep(second);

}catch(.. .. ){

}

}

}

 

private void sendData (){

if(this.dataList.size() == 0){

return;

}

try{

 solr = HttpSolrClient(this.url)

solr.add(this.dataList)

solr.commit();

this.dataList.clear();

}catch(.. .. ){

}finally{

solr.close()

}

}

 

 

LIST

'IT > frameworks' 카테고리의 다른 글