@Override public double getNoCFSRatio() { return super.getNoCFSRatio(); }
@Override public double getNoCFSRatio() { return in.getNoCFSRatio(); }
/** * Returns true if a new segment (regardless of its origin) should use the * compound file format. The default implementation returns <code>true</code> * iff the size of the given mergedInfo is less or equal to * {@link #getMaxCFSSegmentSizeMB()} and the size is less or equal to the * TotalIndexSize * {@link #getNoCFSRatio()} otherwise <code>false</code>. */ public boolean useCompoundFile(SegmentInfos infos, SegmentCommitInfo mergedInfo, MergeContext mergeContext) throws IOException { if (getNoCFSRatio() == 0.0) { return false; } long mergedInfoSize = size(mergedInfo, mergeContext); if (mergedInfoSize > maxCFSSegmentSize) { return false; } if (getNoCFSRatio() >= 1.0) { return true; } long totalSize = 0; for (SegmentCommitInfo info : infos) { totalSize += size(info, mergeContext); } return mergedInfoSize <= getNoCFSRatio() * totalSize; }
@Override public double getNoCFSRatio() { return super.getNoCFSRatio(); }
@Override public double getNoCFSRatio() { return in.getNoCFSRatio(); }
@Override public double getNoCFSRatio() { return in.getNoCFSRatio(); }
@Override public double getNoCFSRatio() { return in.getNoCFSRatio(); }
@Override public double getNoCFSRatio() { return super.getNoCFSRatio(); }
@Override public double getNoCFSRatio() { return super.getNoCFSRatio(); }
/** * Returns true if a new segment (regardless of its origin) should use the * compound file format. The default implementation returns <code>true</code> * iff the size of the given mergedInfo is less or equal to * {@link #getMaxCFSSegmentSizeMB()} and the size is less or equal to the * TotalIndexSize * {@link #getNoCFSRatio()} otherwise <code>false</code>. */ public boolean useCompoundFile(SegmentInfos infos, SegmentCommitInfo mergedInfo, MergeContext mergeContext) throws IOException { if (getNoCFSRatio() == 0.0) { return false; } long mergedInfoSize = size(mergedInfo, mergeContext); if (mergedInfoSize > maxCFSSegmentSize) { return false; } if (getNoCFSRatio() >= 1.0) { return true; } long totalSize = 0; for (SegmentCommitInfo info : infos) { totalSize += size(info, mergeContext); } return mergedInfoSize <= getNoCFSRatio() * totalSize; }
/** * Returns true if a new segment (regardless of its origin) should use the * compound file format. The default implementation returns <code>true</code> * iff the size of the given mergedInfo is less or equal to * {@link #getMaxCFSSegmentSizeMB()} and the size is less or equal to the * TotalIndexSize * {@link #getNoCFSRatio()} otherwise <code>false</code>. */ public boolean useCompoundFile(SegmentInfos infos, SegmentCommitInfo mergedInfo, IndexWriter writer) throws IOException { if (getNoCFSRatio() == 0.0) { return false; } long mergedInfoSize = size(mergedInfo, writer); if (mergedInfoSize > maxCFSSegmentSize) { return false; } if (getNoCFSRatio() >= 1.0) { return true; } long totalSize = 0; for (SegmentCommitInfo info : infos) { totalSize += size(info, writer); } return mergedInfoSize <= getNoCFSRatio() * totalSize; }
/** * Returns true if a new segment (regardless of its origin) should use the * compound file format. The default implementation returns <code>true</code> * iff the size of the given mergedInfo is less or equal to * {@link #getMaxCFSSegmentSizeMB()} and the size is less or equal to the * TotalIndexSize * {@link #getNoCFSRatio()} otherwise <code>false</code>. */ public boolean useCompoundFile(SegmentInfos infos, SegmentCommitInfo mergedInfo, IndexWriter writer) throws IOException { if (getNoCFSRatio() == 0.0) { return false; } long mergedInfoSize = size(mergedInfo, writer); if (mergedInfoSize > maxCFSSegmentSize) { return false; } if (getNoCFSRatio() >= 1.0) { return true; } long totalSize = 0; for (SegmentCommitInfo info : infos) { totalSize += size(info, writer); } return mergedInfoSize <= getNoCFSRatio() * totalSize; }
MergePolicyStatus(final MergePolicy mergePolicy) { type = mergePolicy.getClass().getTypeName(); maxCfsSegmentSizeMb = mergePolicy.getMaxCFSSegmentSizeMB(); noCfsRatio = mergePolicy.getNoCFSRatio(); if (mergePolicy instanceof TieredMergePolicy) { TieredMergePolicy tmp = (TieredMergePolicy) mergePolicy; maxMergeAtOnce = tmp.getMaxMergeAtOnce(); maxMergedSegmentMb = tmp.getMaxMergedSegmentMB(); segmentsPerTier = tmp.getSegmentsPerTier(); } else { maxMergeAtOnce = null; maxMergedSegmentMb = null; segmentsPerTier = null; } } }