Example usage for org.apache.lucene.index LogDocMergePolicy DEFAULT_MIN_MERGE_DOCS

List of usage examples for org.apache.lucene.index LogDocMergePolicy DEFAULT_MIN_MERGE_DOCS

Introduction

In this page you can find the example usage for org.apache.lucene.index LogDocMergePolicy DEFAULT_MIN_MERGE_DOCS.

Prototype

int DEFAULT_MIN_MERGE_DOCS

To view the source code for org.apache.lucene.index LogDocMergePolicy DEFAULT_MIN_MERGE_DOCS.

Click Source Link

Document

Default minimum segment size.

Usage

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

License:Apache License

public MergePolicy create(CompassSettings settings) throws SearchEngineException {
    LogDocMergePolicy mergePolicy = new LogDocMergePolicy();
    mergePolicy.setMaxMergeDocs(settings.getSettingAsInt(LuceneEnvironment.MergePolicy.LogDoc.MAX_MERGE_DOCS,
            LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS));
    mergePolicy.setMinMergeDocs(settings.getSettingAsInt(LuceneEnvironment.MergePolicy.LogDoc.MIN_MERGE_DOCS,
            LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS));
    return mergePolicy;
}

From source file:org.elasticsearch.index.merge.policy.LogDocMergePolicyProvider.java

License:Apache License

@Inject
public LogDocMergePolicyProvider(Store store, IndexSettingsService indexSettingsService) {
    super(store);
    Preconditions.checkNotNull(store, "Store must be provided to merge policy");
    this.indexSettingsService = indexSettingsService;

    this.minMergeDocs = componentSettings.getAsInt("min_merge_docs", LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS);
    this.maxMergeDocs = componentSettings.getAsInt("max_merge_docs", LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS);
    this.mergeFactor = componentSettings.getAsInt("merge_factor", LogDocMergePolicy.DEFAULT_MERGE_FACTOR);
    this.calibrateSizeByDeletes = componentSettings.getAsBoolean("calibrate_size_by_deletes", true);
    this.asyncMerge = indexSettings.getAsBoolean("index.merge.async", true);
    logger.debug(/*from   ww w . ja va 2  s .  c  o m*/
            "using [log_doc] merge policy with merge_factor[{}], min_merge_docs[{}], max_merge_docs[{}], calibrate_size_by_deletes[{}], async_merge[{}]",
            mergeFactor, minMergeDocs, maxMergeDocs, calibrateSizeByDeletes, asyncMerge);

    indexSettingsService.addListener(applySettings);
}

From source file:org.elasticsearch.index.merge.policy.MergePolicySettingsTest.java

License:Apache License

public void testLogDocSizeMergePolicySettingsUpdate() throws IOException {
    IndexSettingsService service = new IndexSettingsService(new Index("test"), EMPTY_SETTINGS);
    LogDocMergePolicyProvider mp = new LogDocMergePolicyProvider(createStore(EMPTY_SETTINGS), service);

    assertEquals(mp.getMergePolicy().getMaxMergeDocs(), LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS);
    service.refreshSettings(/*from w ww.j  ava 2s. c  o m*/
            ImmutableSettings.builder().put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_MAX_MERGE_DOCS,
                    LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS / 2).build());
    assertEquals(mp.getMergePolicy().getMaxMergeDocs(), LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS / 2);

    assertEquals(mp.getMergePolicy().getMinMergeDocs(), LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS);
    service.refreshSettings(
            ImmutableSettings.builder().put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_MIN_MERGE_DOCS,
                    LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS / 2).build());
    assertEquals(mp.getMergePolicy().getMinMergeDocs(), LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS / 2);

    assertTrue(mp.getMergePolicy().getCalibrateSizeByDeletes());
    service.refreshSettings(ImmutableSettings.builder()
            .put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_CALIBRATE_SIZE_BY_DELETES, false).build());
    assertFalse(mp.getMergePolicy().getCalibrateSizeByDeletes());

    assertEquals(mp.getMergePolicy().getMergeFactor(), LogDocMergePolicy.DEFAULT_MERGE_FACTOR);
    service.refreshSettings(
            ImmutableSettings.builder().put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_MERGE_FACTOR,
                    LogDocMergePolicy.DEFAULT_MERGE_FACTOR * 2).build());
    assertEquals(mp.getMergePolicy().getMergeFactor(), LogDocMergePolicy.DEFAULT_MERGE_FACTOR * 2);

    service.refreshSettings(EMPTY_SETTINGS); // update without the settings and see if we stick to the values
    assertEquals(mp.getMergePolicy().getMaxMergeDocs(), LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS / 2);
    assertEquals(mp.getMergePolicy().getMinMergeDocs(), LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS / 2);
    assertFalse(mp.getMergePolicy().getCalibrateSizeByDeletes());
    assertEquals(mp.getMergePolicy().getMergeFactor(), LogDocMergePolicy.DEFAULT_MERGE_FACTOR * 2);

    service = new IndexSettingsService(new Index("test"), EMPTY_SETTINGS);
    mp = new LogDocMergePolicyProvider(createStore(ImmutableSettings.builder()
            .put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_MAX_MERGE_DOCS,
                    LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS / 2)
            .put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_MERGE_FACTOR,
                    LogDocMergePolicy.DEFAULT_MERGE_FACTOR / 2)
            .put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_CALIBRATE_SIZE_BY_DELETES, false)
            .put(LogDocMergePolicyProvider.INDEX_MERGE_POLICY_MIN_MERGE_DOCS,
                    LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS - 1)
            .build()), service);

    assertEquals(mp.getMergePolicy().getMinMergeDocs(), LogDocMergePolicy.DEFAULT_MIN_MERGE_DOCS - 1);
    assertFalse(mp.getMergePolicy().getCalibrateSizeByDeletes());
    assertEquals(mp.getMergePolicy().getMergeFactor(), LogDocMergePolicy.DEFAULT_MERGE_FACTOR / 2);
    assertEquals(mp.getMergePolicy().getMaxMergeDocs(), LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS / 2);
}