当前位置: 首页>>代码示例>>Java>>正文


Java MergeScheduler类代码示例

本文整理汇总了Java中org.apache.lucene.index.MergeScheduler的典型用法代码示例。如果您正苦于以下问题:Java MergeScheduler类的具体用法?Java MergeScheduler怎么用?Java MergeScheduler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MergeScheduler类属于org.apache.lucene.index包,在下文中一共展示了MergeScheduler类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: reduceOpenFiles

import org.apache.lucene.index.MergeScheduler; //导入依赖的package包/类
/** just tries to configure things to keep the open file
 * count lowish */
public static void reduceOpenFiles(IndexWriter w) {
  // keep number of open files lowish
  MergePolicy mp = w.getConfig().getMergePolicy();
  if (mp instanceof LogMergePolicy) {
    LogMergePolicy lmp = (LogMergePolicy) mp;
    lmp.setMergeFactor(Math.min(5, lmp.getMergeFactor()));
    lmp.setNoCFSRatio(1.0);
  } else if (mp instanceof TieredMergePolicy) {
    TieredMergePolicy tmp = (TieredMergePolicy) mp;
    tmp.setMaxMergeAtOnce(Math.min(5, tmp.getMaxMergeAtOnce()));
    tmp.setSegmentsPerTier(Math.min(5, tmp.getSegmentsPerTier()));
    tmp.setNoCFSRatio(1.0);
  }
  MergeScheduler ms = w.getConfig().getMergeScheduler();
  if (ms instanceof ConcurrentMergeScheduler) {
    // wtf... shouldnt it be even lower since its 1 by default?!?!
    ((ConcurrentMergeScheduler) ms).setMaxMergesAndThreads(3, 2);
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:22,代码来源:TestUtil.java

示例2: reduceOpenFiles

import org.apache.lucene.index.MergeScheduler; //导入依赖的package包/类
/** just tries to configure things to keep the open file
 * count lowish */
public static void reduceOpenFiles(IndexWriter w) {
  // keep number of open files lowish
  MergePolicy mp = w.getConfig().getMergePolicy();
  if (mp instanceof LogMergePolicy) {
    LogMergePolicy lmp = (LogMergePolicy) mp;
    lmp.setMergeFactor(Math.min(5, lmp.getMergeFactor()));
    lmp.setUseCompoundFile(true);
  } else if (mp instanceof TieredMergePolicy) {
    TieredMergePolicy tmp = (TieredMergePolicy) mp;
    tmp.setMaxMergeAtOnce(Math.min(5, tmp.getMaxMergeAtOnce()));
    tmp.setSegmentsPerTier(Math.min(5, tmp.getSegmentsPerTier()));
    tmp.setUseCompoundFile(true);
  }
  MergeScheduler ms = w.getConfig().getMergeScheduler();
  if (ms instanceof ConcurrentMergeScheduler) {
    ((ConcurrentMergeScheduler) ms).setMaxThreadCount(2);
    ((ConcurrentMergeScheduler) ms).setMaxMergeCount(3);
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:22,代码来源:_TestUtil.java

示例3: getMergeScheduler

import org.apache.lucene.index.MergeScheduler; //导入依赖的package包/类
public MergeScheduler getMergeScheduler() {
  return new MergeScheduler() {

    private final String _id = UUID.randomUUID().toString();

    @Override
    public void merge(IndexWriter writer) throws IOException {
      addMerges(_id, writer);
    }

    @Override
    public void close() throws IOException {
      remove(_id);
    }

    @Override
    public MergeScheduler clone() {
      return getMergeScheduler();
    }
  };
}
 
开发者ID:apache,项目名称:incubator-blur,代码行数:22,代码来源:SharedMergeScheduler.java

示例4: clone

import org.apache.lucene.index.MergeScheduler; //导入依赖的package包/类
@Override
public MergeScheduler clone() {
    // Lucene IW makes a clone internally but since we hold on to this instance
    // the clone will just be the identity.
    return this;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:7,代码来源:ElasticsearchConcurrentMergeScheduler.java

示例5: syncConcurrentMerges

import org.apache.lucene.index.MergeScheduler; //导入依赖的package包/类
public static void syncConcurrentMerges(MergeScheduler ms) {
  if (ms instanceof ConcurrentMergeScheduler)
    ((ConcurrentMergeScheduler) ms).sync();
}
 
开发者ID:europeana,项目名称:search,代码行数:5,代码来源:TestUtil.java


注:本文中的org.apache.lucene.index.MergeScheduler类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。