@Override
public String apply(String t, String u) {
Index.setIndexLoadingProfileAsRetrieval(false);
IndexOnDisk src1 = IndexOnDisk.createIndex(path, t);
IndexOnDisk src2 = IndexOnDisk.createIndex(path, u);
String thisPrefix = prefix + "_merge"+mergeCounter.getAndIncrement();
IndexOnDisk newIndex = IndexOnDisk.createNewIndex(path, thisPrefix);
if (blocks)
new BlockStructureMerger(src1, src2, newIndex).mergeStructures();
else
new StructureMerger(src1, src2, newIndex).mergeStructures();
try {
src1.close();
src2.close();
newIndex.close();
IndexUtil.deleteIndex(path, t);
IndexUtil.deleteIndex(path, u);
} catch (IOException e) {
throw new RuntimeException(e);
}
return thisPrefix;
}
};