globalProperties.setProperty( Index.PropertyKeys.TERMS, properties.getProperty( Index.PropertyKeys.TERMS ) );
globalProperties.setProperty( Index.PropertyKeys.TERMPROCESSOR, properties.getProperty( Index.PropertyKeys.TERMPROCESSOR ) );
globalProperties.setProperty( Index.PropertyKeys.MAXCOUNT, properties.getProperty( Index.PropertyKeys.MAXCOUNT ) );
globalProperties.setProperty( Index.PropertyKeys.MAXDOCSIZE, properties.getProperty( Index.PropertyKeys.MAXDOCSIZE ) );
globalProperties.save( outputBasename + DiskBasedIndex.PROPERTIES_EXTENSION );
LOGGER.debug( "Properties for clustered index " + outputBasename + ": " + new ConfigurationMap( globalProperties ) );
for( int i = 0; i < numIndices; i++ ) {
localIndexStream[ i ].close();
if ( isHighPerformance ) localPositionsStream[ i ].close();
localOffsets[ i ].close();
if ( posNumBits != null ) localPosNumBits[ i ].close();
localFrequencies[ i ].close();
localGlobCounts[ i ].close();
localTerms[ i ].close();
final InputStream input = new FileInputStream( inputBasename + DiskBasedIndex.SIZES_EXTENSION );
final OutputStream output = new FileOutputStream( localBasename[ i ] + DiskBasedIndex.SIZES_EXTENSION );
IOUtils.copy( input, output );
input.close();
output.close();
Properties localProperties = new Properties();
localProperties.addAll( globalProperties );
localProperties.setProperty( Index.PropertyKeys.TERMS, numTerms[ i ] );
localProperties.setProperty( Index.PropertyKeys.OCCURRENCES, numberOfOccurrences[ i ] );
localProperties.setProperty( Index.PropertyKeys.POSTINGS, numberOfPostings[ i ] );
localProperties.setProperty( Index.PropertyKeys.POSTINGS, numberOfPostings[ i ] );
localProperties.setProperty( Index.PropertyKeys.INDEXCLASS, properties.getProperty( Index.PropertyKeys.INDEXCLASS ) );
localProperties.addProperties( Index.PropertyKeys.CODING, properties.getStringArray( Index.PropertyKeys.CODING ) );
localProperties.setProperty( BitStreamIndex.PropertyKeys.SKIPQUANTUM, properties.getProperty( BitStreamIndex.PropertyKeys.SKIPQUANTUM ) );
localProperties.setProperty( BitStreamIndex.PropertyKeys.SKIPHEIGHT, properties.getProperty( BitStreamIndex.PropertyKeys.SKIPHEIGHT ) );
if ( strategyProperties[ i ] != null ) localProperties.addAll( strategyProperties[ i ] );
localProperties.save( localBasename[ i ] + DiskBasedIndex.PROPERTIES_EXTENSION );
LOGGER.debug( "Post-partitioning properties for index " + localBasename[ i ] + ": " + new ConfigurationMap( localProperties ) );
}
}