//package org.fastcatsearch.ir.index; // //import java.io.File; //import java.io.IOException; // //import org.apache.commons.io.FileUtils; //import org.fastcatsearch.ir.common.IRException; //import org.fastcatsearch.ir.common.IndexingType; //import org.fastcatsearch.ir.config.DataInfo.RevisionInfo; //import org.fastcatsearch.ir.config.DataInfo.SegmentInfo; //import org.fastcatsearch.ir.config.ShardContext; //import org.fastcatsearch.ir.settings.Schema; // //public class ShardFullIndexer extends ShardIndexer { // // public ShardFullIndexer(Schema schema, ShardContext shardContext) throws IRException { // super(shardContext); // init(schema); // } // // @Override // protected void prepare() throws IRException { // workingSegmentInfo = new SegmentInfo(); // // // data 디렉토리를 변경한다. // int newDataSequence = shardContext.nextDataSequence(); // // // 디렉토리 초기화. // File indexDataDir = shardContext.filePaths().indexDirFile(newDataSequence); // try { // FileUtils.deleteDirectory(indexDataDir); // } catch (IOException e) { // throw new IRException(e); // } // // shardContext.clearDataInfoAndStatus(); // indexDataDir.mkdirs(); // // } // // @Override // protected void done() throws IRException { // RevisionInfo revisionInfo = workingSegmentInfo.getRevisionInfo(); // int insertCount = revisionInfo.getInsertCount(); // // if (insertCount > 0) { // workingSegmentInfo.updateRevision(revisionInfo); // //update index#/info.xml file // shardContext.addSegmentInfo(workingSegmentInfo); // //update status.xml file // shardContext.updateIndexingStatus(IndexingType.FULL, revisionInfo, startTime, System.currentTimeMillis()); // } // // } // //}