List of usage examples for org.apache.lucene.index TieredMergePolicy getMaxMergeAtOnce
public int getMaxMergeAtOnce()
From source file:org.apache.solr.core.TestMergePolicyConfig.java
License:Apache License
public void testLegacyMergePolicyConfig() throws Exception { final boolean expectCFS = Boolean.parseBoolean(System.getProperty("useCompoundFile")); initCore("solrconfig-mergepolicy-legacy.xml", "schema-minimal.xml"); IndexWriterConfig iwc = solrConfig.indexConfig.toIndexWriterConfig(h.getCore().getLatestSchema()); assertEquals(expectCFS, iwc.getUseCompoundFile()); assertEquals("termIndexInteval", 256, iwc.getTermIndexInterval()); TieredMergePolicy tieredMP = assertAndCast(TieredMergePolicy.class, iwc.getMergePolicy()); assertEquals(7, tieredMP.getMaxMergeAtOnce()); assertEquals(7.0D, tieredMP.getSegmentsPerTier(), 0.0D); assertEquals(expectCFS ? 1.0D : 0.0D, tieredMP.getNoCFSRatio(), 0.0D); assertCommitSomeNewDocs();/* w w w.j a va2s . co m*/ assertCompoundSegments(h.getCore(), expectCFS); }
From source file:org.apache.solr.core.TestMergePolicyConfig.java
License:Apache License
public void testTieredMergePolicyConfig() throws Exception { final boolean expectCFS = Boolean.parseBoolean(System.getProperty("useCompoundFile")); initCore("solrconfig-tieredmergepolicy.xml", "schema-minimal.xml"); IndexWriterConfig iwc = solrConfig.indexConfig.toIndexWriterConfig(h.getCore().getLatestSchema()); assertEquals(expectCFS, iwc.getUseCompoundFile()); TieredMergePolicy tieredMP = assertAndCast(TieredMergePolicy.class, iwc.getMergePolicy()); // set by legacy <mergeFactor> setting assertEquals(7, tieredMP.getMaxMergeAtOnce()); // mp-specific setters assertEquals(19, tieredMP.getMaxMergeAtOnceExplicit()); assertEquals(0.1D, tieredMP.getNoCFSRatio(), 0.0D); // make sure we overrode segmentsPerTier // (split from maxMergeAtOnce out of mergeFactor) assertEquals(9D, tieredMP.getSegmentsPerTier(), 0.001); assertCommitSomeNewDocs();//from ww w. ja v a 2 s . co m // even though we have a single segment (which is 100% of the size of // the index which is higher then our 0.6D threashold) the // compound ratio doesn't matter because the segment was never merged assertCompoundSegments(h.getCore(), expectCFS); assertCommitSomeNewDocs(); assertNumSegments(h.getCore(), 2); assertCompoundSegments(h.getCore(), expectCFS); assertU(optimize()); assertNumSegments(h.getCore(), 1); // we've now forced a merge, and the MP ratio should be in play assertCompoundSegments(h.getCore(), false); }
From source file:org.apache.solr.index.WrapperMergePolicyFactoryTest.java
License:Apache License
public void testProperlyInitializesWrappedMergePolicy() { final TieredMergePolicy defaultTMP = new TieredMergePolicy(); final int testMaxMergeAtOnce = defaultTMP.getMaxMergeAtOnce() * 2; final double testMaxMergedSegmentMB = defaultTMP.getMaxMergedSegmentMB() * 10; final MergePolicyFactoryArgs args = new MergePolicyFactoryArgs(); args.add(WrapperMergePolicyFactory.WRAPPED_PREFIX, "test"); args.add("test.class", TieredMergePolicyFactory.class.getName()); args.add("test.maxMergeAtOnce", testMaxMergeAtOnce); args.add("test.maxMergedSegmentMB", testMaxMergedSegmentMB); MergePolicyFactory mpf = new DefaultingWrapperMergePolicyFactory(resourceLoader, args, null) { @Override//from w w w . jav a2s. c o m protected MergePolicy getDefaultWrappedMergePolicy() { throw new IllegalStateException("Should not have reached here!"); } }; final MergePolicy mp = mpf.getMergePolicy(); assertSame(mp.getClass(), TieredMergePolicy.class); final TieredMergePolicy tmp = (TieredMergePolicy) mp; assertEquals("maxMergeAtOnce", testMaxMergeAtOnce, tmp.getMaxMergeAtOnce()); assertEquals("maxMergedSegmentMB", testMaxMergedSegmentMB, tmp.getMaxMergedSegmentMB(), 0.0d); }