List of usage examples for org.apache.lucene.index TieredMergePolicy setMaxMergeAtOnce
public TieredMergePolicy setMaxMergeAtOnce(int v)
From source file:com.xiaomi.linden.lucene.merge.TieredMergePolicyFactory.java
License:Apache License
@Override public MergePolicy getInstance(Map<String, String> config) throws IOException { TieredMergePolicy mergePolicy = new TieredMergePolicy(); if (config.containsKey(SEGMENTS_PER_TIER)) { mergePolicy.setSegmentsPerTier(Double.valueOf(config.get(SEGMENTS_PER_TIER))); }// w w w . j a v a 2 s. c o m if (config.containsKey(MAX_MERGE_AT_ONCE)) { mergePolicy.setMaxMergeAtOnce(Integer.valueOf(config.get(MAX_MERGE_AT_ONCE))); } return mergePolicy; }
From source file:org.apache.solr.update.SolrIndexConfig.java
License:Apache License
/** * Builds a MergePolicy, may also modify the value returned by * getUseCompoundFile() for use by the IndexWriterConfig if * "useCompoundFile" is specified as an init arg for * an out of the box MergePolicy that no longer supports it * * @see #fixUseCFMergePolicyInitArg//from w w w .j ava2 s .co m * @see #getUseCompoundFile */ private MergePolicy buildMergePolicy(IndexSchema schema) { String mpClassName = mergePolicyInfo == null ? defaultMergePolicyClassName : mergePolicyInfo.className; MergePolicy policy = schema.getResourceLoader().newInstance(mpClassName, MergePolicy.class); if (policy instanceof LogMergePolicy) { LogMergePolicy logMergePolicy = (LogMergePolicy) policy; fixUseCFMergePolicyInitArg(LogMergePolicy.class); if (maxMergeDocs != -1) logMergePolicy.setMaxMergeDocs(maxMergeDocs); logMergePolicy.setNoCFSRatio(getUseCompoundFile() ? 1.0 : 0.0); if (mergeFactor != -1) logMergePolicy.setMergeFactor(mergeFactor); } else if (policy instanceof TieredMergePolicy) { TieredMergePolicy tieredMergePolicy = (TieredMergePolicy) policy; fixUseCFMergePolicyInitArg(TieredMergePolicy.class); tieredMergePolicy.setNoCFSRatio(getUseCompoundFile() ? 1.0 : 0.0); if (mergeFactor != -1) { tieredMergePolicy.setMaxMergeAtOnce(mergeFactor); tieredMergePolicy.setSegmentsPerTier(mergeFactor); } } else if (mergeFactor != -1) { log.warn( "Use of <mergeFactor> cannot be configured if merge policy is not an instance of LogMergePolicy or TieredMergePolicy. The configured policy's defaults will be used."); } if (mergePolicyInfo != null) SolrPluginUtils.invokeSetters(policy, mergePolicyInfo.initArgs); return policy; }