Java 类org.apache.lucene.index.LiveIndexWriterConfig 实例源码

项目:elasticsearch_my    文件:InternalEngineTests.java   
public void testSettings() {
    CodecService codecService = new CodecService(null, logger);
    LiveIndexWriterConfig currentIndexWriterConfig = engine.getCurrentIndexWriterConfig();

    assertEquals(engine.config().getCodec().getName(), codecService.codec(codecName).getName());
    assertEquals(currentIndexWriterConfig.getCodec().getName(), codecService.codec(codecName).getName());
}
项目:Elasticsearch    文件:DLBasedEngine.java   
private void updateIndexWriterSettings() {
    try {
        final LiveIndexWriterConfig iwc = indexWriter.getConfig();
        iwc.setRAMBufferSizeMB(engineConfig.getIndexingBufferSize().mbFrac());
        iwc.setUseCompoundFile(engineConfig.isCompoundOnFlush());
    } catch (AlreadyClosedException ex) {
        // ignore
    }
}
项目:Elasticsearch    文件:InternalEngine.java   
private void updateIndexWriterSettings() {
    try {
        final LiveIndexWriterConfig iwc = indexWriter.getConfig();
        iwc.setRAMBufferSizeMB(engineConfig.getIndexingBufferSize().mbFrac());
        iwc.setUseCompoundFile(engineConfig.isCompoundOnFlush());
    } catch (AlreadyClosedException ex) {
        // ignore
    }
}
项目:search    文件:TestSolrIndexConfig.java   
private void checkIndexWriterConfig(LiveIndexWriterConfig iwc) {

    assertEquals(123, iwc.getMaxThreadStates());
    assertTrue(iwc.getInfoStream() instanceof PrintStreamInfoStream);
    assertTrue(iwc.getMergePolicy().getClass().toString(),
               iwc.getMergePolicy() instanceof RandomMergePolicy);

  }
项目:elasticsearch_my    文件:InternalEngine.java   
LiveIndexWriterConfig getCurrentIndexWriterConfig() {
    return indexWriter.getConfig();
}
项目:elasticsearch_my    文件:InternalEngineTests.java   
@Override
@Before
public void setUp() throws Exception {
    super.setUp();

    CodecService codecService = new CodecService(null, logger);
    String name = Codec.getDefault().getName();
    if (Arrays.asList(codecService.availableCodecs()).contains(name)) {
        // some codecs are read only so we only take the ones that we have in the service and randomly
        // selected by lucene test case.
        codecName = name;
    } else {
        codecName = "default";
    }
    defaultSettings = IndexSettingsModule.newIndexSettings("test", Settings.builder()
            .put(IndexSettings.INDEX_GC_DELETES_SETTING.getKey(), "1h") // make sure this doesn't kick in on us
            .put(EngineConfig.INDEX_CODEC_SETTING.getKey(), codecName)
            .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
            .put(IndexSettings.MAX_REFRESH_LISTENERS_PER_SHARD.getKey(),
                    between(10, 10 * IndexSettings.MAX_REFRESH_LISTENERS_PER_SHARD.get(Settings.EMPTY)))
            .build()); // TODO randomize more settings
    threadPool = new TestThreadPool(getClass().getName());
    store = createStore();
    storeReplica = createStore();
    Lucene.cleanLuceneIndex(store.directory());
    Lucene.cleanLuceneIndex(storeReplica.directory());
    primaryTranslogDir = createTempDir("translog-primary");
    engine = createEngine(store, primaryTranslogDir);
    LiveIndexWriterConfig currentIndexWriterConfig = engine.getCurrentIndexWriterConfig();

    assertEquals(engine.config().getCodec().getName(), codecService.codec(codecName).getName());
    assertEquals(currentIndexWriterConfig.getCodec().getName(), codecService.codec(codecName).getName());
    if (randomBoolean()) {
        engine.config().setEnableGcDeletes(false);
    }
    replicaTranslogDir = createTempDir("translog-replica");
    replicaEngine = createEngine(storeReplica, replicaTranslogDir);
    currentIndexWriterConfig = replicaEngine.getCurrentIndexWriterConfig();

    assertEquals(replicaEngine.config().getCodec().getName(), codecService.codec(codecName).getName());
    assertEquals(currentIndexWriterConfig.getCodec().getName(), codecService.codec(codecName).getName());
    if (randomBoolean()) {
        engine.config().setEnableGcDeletes(false);
    }
}
项目:elasticsearch_my    文件:ShadowEngineTests.java   
@Override
@Before
public void setUp() throws Exception {
    super.setUp();
    CodecService codecService = new CodecService(null, logger);
    String name = Codec.getDefault().getName();
    if (Arrays.asList(codecService.availableCodecs()).contains(name)) {
        // some codecs are read only so we only take the ones that we have in the service and randomly
        // selected by lucene test case.
        codecName = name;
    } else {
        codecName = "default";
    }
    defaultSettings = IndexSettingsModule.newIndexSettings("test", Settings.builder()
            .put(IndexSettings.INDEX_GC_DELETES_SETTING, "1h") // make sure this doesn't kick in on us
            .put(EngineConfig.INDEX_CODEC_SETTING.getKey(), codecName)
            .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
            .build()); // TODO randomize more settings

    threadPool = new TestThreadPool(getClass().getName());
    dirPath = createTempDir();
    store = createStore(dirPath);
    storeReplica = createStore(dirPath);
    Lucene.cleanLuceneIndex(store.directory());
    Lucene.cleanLuceneIndex(storeReplica.directory());
    primaryEngine = createInternalEngine(store, createTempDir("translog-primary"));
    LiveIndexWriterConfig currentIndexWriterConfig = ((InternalEngine)primaryEngine).getCurrentIndexWriterConfig();

    assertEquals(primaryEngine.config().getCodec().getName(), codecService.codec(codecName).getName());
    assertEquals(currentIndexWriterConfig.getCodec().getName(), codecService.codec(codecName).getName());
    if (randomBoolean()) {
        primaryEngine.config().setEnableGcDeletes(false);
    }

    replicaEngine = createShadowEngine(storeReplica);

    assertEquals(replicaEngine.config().getCodec().getName(), codecService.codec(codecName).getName());
    if (randomBoolean()) {
        replicaEngine.config().setEnableGcDeletes(false);
    }
}
项目:elasticsearch_my    文件:InternalEngineSettingsTests.java   
public void testSettingsUpdate() {
    final IndexService service = createIndex("foo");
    InternalEngine engine = ((InternalEngine) EngineAccess.engine(service.getShardOrNull(0)));
    assertThat(engine.getCurrentIndexWriterConfig().getUseCompoundFile(), is(true));
    final int iters = between(1, 20);
    for (int i = 0; i < iters; i++) {

        // Tricky: TimeValue.parseTimeValue casts this long to a double, which steals 11 of the 64 bits for exponent, so we can't use
        // the full long range here else the assert below fails:
        long gcDeletes = random().nextLong() & (Long.MAX_VALUE >> 11);

        Settings build = Settings.builder()
                .put(IndexSettings.INDEX_GC_DELETES_SETTING.getKey(), gcDeletes, TimeUnit.MILLISECONDS)
                .build();
        assertEquals(gcDeletes, build.getAsTime(IndexSettings.INDEX_GC_DELETES_SETTING.getKey(), null).millis());

        client().admin().indices().prepareUpdateSettings("foo").setSettings(build).get();
        LiveIndexWriterConfig currentIndexWriterConfig = engine.getCurrentIndexWriterConfig();
        assertEquals(currentIndexWriterConfig.getUseCompoundFile(), true);


        assertEquals(engine.config().getIndexSettings().getGcDeletesInMillis(), gcDeletes);
        assertEquals(engine.getGcDeletesInMillis(), gcDeletes);

    }

    Settings settings = Settings.builder()
            .put(IndexSettings.INDEX_GC_DELETES_SETTING.getKey(), 1000, TimeUnit.MILLISECONDS)
            .build();
    client().admin().indices().prepareUpdateSettings("foo").setSettings(settings).get();
    assertEquals(engine.getGcDeletesInMillis(), 1000);
    assertTrue(engine.config().isEnableGcDeletes());


    settings = Settings.builder()
            .put(IndexSettings.INDEX_GC_DELETES_SETTING.getKey(), "0ms")
            .build();

    client().admin().indices().prepareUpdateSettings("foo").setSettings(settings).get();
    assertEquals(engine.getGcDeletesInMillis(), 0);
    assertTrue(engine.config().isEnableGcDeletes());

    settings = Settings.builder()
            .put(IndexSettings.INDEX_GC_DELETES_SETTING.getKey(), 1000, TimeUnit.MILLISECONDS)
            .build();
    client().admin().indices().prepareUpdateSettings("foo").setSettings(settings).get();
    assertEquals(engine.getGcDeletesInMillis(), 1000);
    assertTrue(engine.config().isEnableGcDeletes());
}
项目:Elasticsearch    文件:DLBasedEngine.java   
LiveIndexWriterConfig getCurrentIndexWriterConfig() {
    return indexWriter.getConfig();
}
项目:Elasticsearch    文件:InternalEngine.java   
LiveIndexWriterConfig getCurrentIndexWriterConfig() {
    return indexWriter.getConfig();
}