Example usage for org.apache.lucene.index LogByteSizeMergePolicy setMinMergeMB

List of usage examples for org.apache.lucene.index LogByteSizeMergePolicy setMinMergeMB

Introduction

In this page you can find the example usage for org.apache.lucene.index LogByteSizeMergePolicy setMinMergeMB.

Prototype

public void setMinMergeMB(double mb) 

Source Link

Document

Sets the minimum size for the lowest level segments.

Usage

From source file:com.flaptor.hounder.Index.java

License:Apache License

private Index(final File path, boolean create) {
    if (!create) {
        if (!path.exists()) {
            throw new IllegalArgumentException("The path passed to the costructor doesn't exist.");
        }/*from  ww  w  . j a  v a2s  . c o m*/
        if (!path.isDirectory()) {
            throw new IllegalArgumentException("The path passed to the constructor is not a directory");
        }
    } else {
        if (path.exists()) {
            throw new IllegalArgumentException(
                    "Cannot create index on " + path.getAbsolutePath() + ". Path exists.");
        }
    }
    this.path = path;
    properties = new Properties();
    if (!create) {
        File propFile = new File(path.getAbsolutePath() + File.separator + "index.properties");
        if (!propFile.exists()) {
            throw new IllegalArgumentException(
                    "Cannot find the properties inside the index. Is the index corrupted?.");
        }
        if (!propFile.isFile()) {
            throw new IllegalArgumentException(
                    "There's no file named index.properties in the index. Maybe it is a directory?");
        }
        InputStream is = null;
        try {
            is = new FileInputStream(propFile);
            properties.load(is);
            indexDescriptor = new IndexDescriptor(properties.get("indexDescriptor").toString());
        } catch (IOException e) {
            logger.error(
                    "Exception while trying to load index.properties for index at " + path.getAbsolutePath(),
                    e);
        } catch (NullPointerException e) {
            logger.error("There is no index descriptor on " + propFile.getName()
                    + ". using default. Exception caused by " + e.getMessage(), e);
            indexDescriptor = IndexDescriptor.defaultDescriptor();
        } finally {
            com.flaptor.util.Execute.close(is, logger);
        }
    }
    Config config = Config.getConfig("common.properties");

    failOnLegacyParameters(config);

    ConcurrentMergeScheduler cms = new ConcurrentMergeScheduler();
    cms.setMaxThreadCount(12);
    cms.setMergeThreadPriority(Thread.MIN_PRIORITY);
    this.mergeScheduler = cms;

    LogByteSizeMergePolicy mp = new LogByteSizeMergePolicy();
    smallSegmentSize = config.getFloat("Index.smallSegmentSizeMB");
    mp.setMinMergeMB(smallSegmentSize);
    mp.setMergeFactor(config.getInt("Index.mergeFactor"));
    mergePolicy = mp;

    createAnalyzer();

    setUpDirectory(create);
}

From source file:net.dataforte.infinispan.amanuensis.DefaultWriterConfigurator.java

License:Open Source License

@Override
public void configure(IndexWriter writer) {
    LogByteSizeMergePolicy mergePolicy = new LogByteSizeMergePolicy(writer);
    mergePolicy.setMaxMergeMB(maxMergeMB);
    mergePolicy.setMinMergeMB(minMergeMB);
    mergePolicy.setMaxMergeDocs(maxMergeDocs);
    mergePolicy.setMergeFactor(mergeFactor);
    mergePolicy.setCalibrateSizeByDeletes(calibrateSizeByDeletes);
    mergePolicy.setNoCFSRatio(noCFSRatio);
    mergePolicy.setUseCompoundDocStore(useCompoundDocStore);
    mergePolicy.setUseCompoundFile(useCompoundFile);
    writer.setMergePolicy(mergePolicy);//from w  w  w  .  ja  v a2 s  . c  o  m
}

From source file:org.compass.core.lucene.engine.merge.policy.LogByteSizeMergePolicyProvider.java

License:Apache License

public MergePolicy create(CompassSettings settings) throws SearchEngineException {
    LogByteSizeMergePolicy mergePolicy = new LogByteSizeMergePolicy();
    mergePolicy//  w  w w  . ja va2 s.  co  m
            .setMaxMergeMB(settings.getSettingAsDouble(LuceneEnvironment.MergePolicy.LogByteSize.MAX_MERGE_MB,
                    LogByteSizeMergePolicy.DEFAULT_MAX_MERGE_MB));
    mergePolicy
            .setMinMergeMB(settings.getSettingAsDouble(LuceneEnvironment.MergePolicy.LogByteSize.MIN_MERGE_MB,
                    LogByteSizeMergePolicy.DEFAULT_MIN_MERGE_MB));
    return mergePolicy;
}

From source file:org.neo4j.kernel.api.impl.index.IndexWriterConfigs.java

License:Open Source License

public static IndexWriterConfig standard() {
    IndexWriterConfig writerConfig = new IndexWriterConfig(LuceneDataSource.KEYWORD_ANALYZER);

    writerConfig.setMaxBufferedDocs(MAX_BUFFERED_DOCS);
    writerConfig.setIndexDeletionPolicy(new MultipleBackupDeletionPolicy());
    writerConfig.setUseCompoundFile(true);
    writerConfig.setCodec(new Lucene54Codec() {
        @Override//from w  ww. j  ava 2s . c  om
        public PostingsFormat getPostingsFormatForField(String field) {
            PostingsFormat postingFormat = super.getPostingsFormatForField(field);
            return CODEC_BLOCK_TREE_ORDS_POSTING_FORMAT ? blockTreeOrdsPostingsFormat : postingFormat;
        }
    });

    LogByteSizeMergePolicy mergePolicy = new LogByteSizeMergePolicy();
    mergePolicy.setNoCFSRatio(MERGE_POLICY_NO_CFS_RATIO);
    mergePolicy.setMinMergeMB(MERGE_POLICY_MIN_MERGE_MB);
    mergePolicy.setMergeFactor(MERGE_POLICY_MERGE_FACTOR);
    writerConfig.setMergePolicy(mergePolicy);

    return writerConfig;
}

From source file:org.neo4j.kernel.api.impl.index.IndexWriterFactories.java

License:Open Source License

public static LuceneIndexWriterFactory standard() {
    return new LuceneIndexWriterFactory() {
        @Override/*from w  ww  .j av a2 s . c  o  m*/
        public IndexWriter create(Directory directory) throws IOException {
            IndexWriterConfig writerConfig = new IndexWriterConfig(Version.LUCENE_36,
                    LuceneDataSource.KEYWORD_ANALYZER);
            writerConfig.setMaxBufferedDocs(100000); // TODO figure out depending on environment?
            writerConfig.setIndexDeletionPolicy(new MultipleBackupDeletionPolicy());
            writerConfig.setTermIndexInterval(14);

            LogByteSizeMergePolicy mergePolicy = new LogByteSizeMergePolicy();
            mergePolicy.setUseCompoundFile(true);
            mergePolicy.setNoCFSRatio(1.0);
            mergePolicy.setMinMergeMB(0.1);
            mergePolicy.setMergeFactor(2);
            writerConfig.setMergePolicy(mergePolicy);

            return new IndexWriter(directory, writerConfig);
        }
    };
}