Example usage for org.apache.lucene.index MergePolicy getNoCFSRatio

List of usage examples for org.apache.lucene.index MergePolicy getNoCFSRatio

Introduction

In this page you can find the example usage for org.apache.lucene.index MergePolicy getNoCFSRatio.

Prototype

public double getNoCFSRatio() 

Source Link

Document

Returns current noCFSRatio .

Usage

From source file:org.apache.solr.index.WrapperMergePolicyFactoryTest.java

License:Apache License

private void implTestUpgradeIndexMergePolicyFactory(Double wrappingNoCFSRatio, Double wrappedNoCFSRatio) {
    final MergePolicyFactoryArgs args = new MergePolicyFactoryArgs();
    if (wrappingNoCFSRatio != null) {
        args.add("noCFSRatio", wrappingNoCFSRatio); // noCFSRatio for the wrapping merge policy
    }//from   w  ww. j a v a2  s  .  co  m
    args.add(WrapperMergePolicyFactory.WRAPPED_PREFIX, "wrapped");
    args.add("wrapped.class", TieredMergePolicyFactory.class.getName());
    if (wrappedNoCFSRatio != null) {
        args.add("wrapped.noCFSRatio", wrappedNoCFSRatio); // noCFSRatio for the wrapped merge policy
    }

    MergePolicyFactory mpf;
    try {
        mpf = new UpgradeIndexMergePolicyFactory(resourceLoader, args, null);
        assertFalse("Should only reach here if wrapping and wrapped args don't overlap!",
                (wrappingNoCFSRatio != null && wrappedNoCFSRatio != null));

        for (int ii = 1; ii <= 2; ++ii) { // it should be okay to call getMergePolicy() more than once
            final MergePolicy mp = mpf.getMergePolicy();
            if (wrappingNoCFSRatio != null) {
                assertEquals("#" + ii + " wrappingNoCFSRatio", wrappingNoCFSRatio.doubleValue(),
                        mp.getNoCFSRatio(), 0.0d);
            }
            if (wrappedNoCFSRatio != null) {
                assertEquals("#" + ii + " wrappedNoCFSRatio", wrappedNoCFSRatio.doubleValue(),
                        mp.getNoCFSRatio(), 0.0d);
            }
            assertSame(mp.getClass(), UpgradeIndexMergePolicy.class);
        }

    } catch (IllegalArgumentException iae) {
        assertEquals("Wrapping and wrapped merge policy args overlap! [noCFSRatio]", iae.getMessage());
        assertTrue("Should only reach here if wrapping and wrapped args do overlap!",
                (wrappingNoCFSRatio != null && wrappedNoCFSRatio != null));
    }
}

From source file:org.apache.solr.util.RandomMergePolicy.java

License:Apache License

private RandomMergePolicy(MergePolicy inner) {
    super(inner.getNoCFSRatio(), (long) (inner.getMaxCFSSegmentSizeMB() * 1024 * 1024));
    this.inner = inner;
    log.info("RandomMergePolicy wrapping {}: {}", inner.getClass(), inner);
}