Example usage for org.apache.lucene.search IndexSearcher getDefaultQueryCache

List of usage examples for org.apache.lucene.search IndexSearcher getDefaultQueryCache

Introduction

In this page you can find the example usage for org.apache.lucene.search IndexSearcher getDefaultQueryCache.

Prototype

public static QueryCache getDefaultQueryCache() 

Source Link

Document

Expert: Get the default QueryCache or null if the cache is disabled.

Usage

From source file:org.elasticsearch.index.engine.EngineDiskUtilsTests.java

License:Apache License

public void testHistoryUUIDIsSetIfMissing() throws IOException {
    final int numDocs = randomIntBetween(0, 3);
    for (int i = 0; i < numDocs; i++) {
        ParsedDocument doc = testParsedDocument(Integer.toString(i), null, testDocument(), new BytesArray("{}"),
                null);//from ww  w  .  j  a v  a2 s  .c o  m
        Engine.Index firstIndexRequest = new Engine.Index(newUid(doc), doc, SequenceNumbers.UNASSIGNED_SEQ_NO,
                0, Versions.MATCH_DELETED, VersionType.INTERNAL, PRIMARY, System.nanoTime(), -1, false);
        Engine.IndexResult index = engine.index(firstIndexRequest);
        assertThat(index.getVersion(), equalTo(1L));
    }
    assertVisibleCount(engine, numDocs);
    engine.close();

    IndexWriterConfig iwc = new IndexWriterConfig(null).setCommitOnClose(false)
            // we don't want merges to happen here - we call maybe merge on the engine
            // later once we stared it up otherwise we would need to wait for it here
            // we also don't specify a codec here and merges should use the engines for this index
            .setMergePolicy(NoMergePolicy.INSTANCE).setOpenMode(IndexWriterConfig.OpenMode.APPEND);
    try (IndexWriter writer = new IndexWriter(store.directory(), iwc)) {
        Map<String, String> newCommitData = new HashMap<>();
        for (Map.Entry<String, String> entry : writer.getLiveCommitData()) {
            if (entry.getKey().equals(Engine.HISTORY_UUID_KEY) == false) {
                newCommitData.put(entry.getKey(), entry.getValue());
            }
        }
        writer.setLiveCommitData(newCommitData.entrySet());
        writer.commit();
    }

    EngineDiskUtils.ensureIndexHasHistoryUUID(store.directory());

    final IndexSettings indexSettings = IndexSettingsModule.newIndexSettings("test",
            Settings.builder().put(defaultSettings.getSettings())
                    .put(IndexMetaData.SETTING_VERSION_CREATED, Version.V_6_0_0_beta1).build());

    EngineConfig config = engine.config();
    EngineConfig newConfig = new EngineConfig(shardId, allocationId.getId(), threadPool, indexSettings, null,
            store, newMergePolicy(), config.getAnalyzer(), config.getSimilarity(),
            new CodecService(null, logger), config.getEventListener(), IndexSearcher.getDefaultQueryCache(),
            IndexSearcher.getDefaultQueryCachingPolicy(), config.getTranslogConfig(),
            TimeValue.timeValueMinutes(5), config.getExternalRefreshListener(),
            config.getInternalRefreshListener(), null, config.getTranslogRecoveryRunner(),
            new NoneCircuitBreakerService(), () -> SequenceNumbers.NO_OPS_PERFORMED);
    engine = new InternalEngine(newConfig);
    engine.recoverFromTranslog();
    assertVisibleCount(engine, numDocs, false);
    assertThat(engine.getHistoryUUID(), notNullValue());
}

From source file:org.elasticsearch.index.engine.EngineDiskUtilsTests.java

License:Apache License

public void testHistoryUUIDCanBeForced() throws IOException {
    final int numDocs = randomIntBetween(0, 3);
    for (int i = 0; i < numDocs; i++) {
        ParsedDocument doc = testParsedDocument(Integer.toString(i), null, testDocument(), new BytesArray("{}"),
                null);//from   w  ww  . j  a v  a 2s.c  o m
        Engine.Index firstIndexRequest = new Engine.Index(newUid(doc), doc, SequenceNumbers.UNASSIGNED_SEQ_NO,
                0, Versions.MATCH_DELETED, VersionType.INTERNAL, PRIMARY, System.nanoTime(), -1, false);
        Engine.IndexResult index = engine.index(firstIndexRequest);
        assertThat(index.getVersion(), equalTo(1L));
    }
    assertVisibleCount(engine, numDocs);
    final String oldHistoryUUID = engine.getHistoryUUID();
    engine.close();
    EngineConfig config = engine.config();
    EngineDiskUtils.bootstrapNewHistoryFromLuceneIndex(store.directory(),
            config.getTranslogConfig().getTranslogPath(), shardId);

    EngineConfig newConfig = new EngineConfig(shardId, allocationId.getId(), threadPool,
            config.getIndexSettings(), null, store, newMergePolicy(), config.getAnalyzer(),
            config.getSimilarity(), new CodecService(null, logger), config.getEventListener(),
            IndexSearcher.getDefaultQueryCache(), IndexSearcher.getDefaultQueryCachingPolicy(),
            config.getTranslogConfig(), TimeValue.timeValueMinutes(5), config.getExternalRefreshListener(),
            config.getInternalRefreshListener(), null, config.getTranslogRecoveryRunner(),
            new NoneCircuitBreakerService(), () -> SequenceNumbers.NO_OPS_PERFORMED);
    engine = new InternalEngine(newConfig);
    engine.recoverFromTranslog();
    assertVisibleCount(engine, 0, false);
    assertThat(engine.getHistoryUUID(), not(equalTo(oldHistoryUUID)));
}

From source file:org.elasticsearch.index.engine.EngineTestCase.java

License:Apache License

public EngineConfig config(IndexSettings indexSettings, Store store, Path translogPath, MergePolicy mergePolicy,
        ReferenceManager.RefreshListener refreshListener, Sort indexSort,
        LongSupplier globalCheckpointSupplier) {
    IndexWriterConfig iwc = newIndexWriterConfig();
    TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, indexSettings,
            BigArrays.NON_RECYCLING_INSTANCE);
    Engine.EventListener listener = new Engine.EventListener() {
        @Override// w  w w .  ja v  a2s  .co  m
        public void onFailedEngine(String reason, @Nullable Exception e) {
            // we don't need to notify anybody in this test
        }
    };
    final TranslogHandler handler = new TranslogHandler(xContentRegistry(),
            IndexSettingsModule.newIndexSettings(shardId.getIndexName(), indexSettings.getSettings()));
    final List<ReferenceManager.RefreshListener> refreshListenerList = refreshListener == null ? emptyList()
            : Collections.singletonList(refreshListener);
    EngineConfig config = new EngineConfig(shardId, allocationId.getId(), threadPool, indexSettings, null,
            store, mergePolicy, iwc.getAnalyzer(), iwc.getSimilarity(), new CodecService(null, logger),
            listener, IndexSearcher.getDefaultQueryCache(), IndexSearcher.getDefaultQueryCachingPolicy(),
            translogConfig, TimeValue.timeValueMinutes(5), refreshListenerList, Collections.emptyList(),
            indexSort, handler, new NoneCircuitBreakerService(),
            globalCheckpointSupplier == null
                    ? new ReplicationTracker(shardId, allocationId.getId(), indexSettings,
                            SequenceNumbers.NO_OPS_PERFORMED)
                    : globalCheckpointSupplier);
    return config;
}

From source file:org.elasticsearch.index.engine.InternalEngineTests.java

License:Apache License

public EngineConfig config(Settings indexSettings, Store store, Path translogPath,
        MergeSchedulerConfig mergeSchedulerConfig, MergePolicy mergePolicy, IndexSearcherWrapper... wrappers) {
    IndexWriterConfig iwc = newIndexWriterConfig();
    TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, indexSettings,
            Translog.Durabilty.REQUEST, BigArrays.NON_RECYCLING_INSTANCE, threadPool);

    EngineConfig config = new EngineConfig(shardId, threadPool,
            new ShardIndexingService(shardId, indexSettings), indexSettings, null, store,
            createSnapshotDeletionPolicy(), mergePolicy, mergeSchedulerConfig, iwc.getAnalyzer(),
            iwc.getSimilarity(), new CodecService(shardId.index()), new Engine.FailedEngineListener() {
                @Override//from   ww  w .  java2s. c  o m
                public void onFailedEngine(ShardId shardId, String reason, @Nullable Throwable t) {
                    // we don't need to notify anybody in this test
                }
            }, new TranslogHandler(shardId.index().getName(), logger), IndexSearcher.getDefaultQueryCache(),
            IndexSearcher.getDefaultQueryCachingPolicy(),
            new IndexSearcherWrappingService(new HashSet<>(Arrays.asList(wrappers))), translogConfig);
    try {
        config.setCreate(Lucene.indexExists(store.directory()) == false);
    } catch (IOException e) {
        throw new ElasticsearchException("can't find index?", e);
    }
    return config;
}

From source file:org.elasticsearch.index.shard.RefreshListenersTests.java

License:Apache License

@Before
public void setupListeners() throws Exception {
    // Setup dependencies of the listeners
    maxListeners = randomIntBetween(1, 1000);
    listeners = new RefreshListeners(() -> maxListeners, () -> engine.refresh("too-many-listeners"),
            // Immediately run listeners rather than adding them to the listener thread pool like IndexShard does to simplify the test.
            Runnable::run, logger);

    // Now setup the InternalEngine which is much more complicated because we aren't mocking anything
    threadPool = new TestThreadPool(getTestName());
    IndexSettings indexSettings = IndexSettingsModule.newIndexSettings("index", Settings.EMPTY);
    ShardId shardId = new ShardId(new Index("index", "_na_"), 1);
    Directory directory = newDirectory();
    DirectoryService directoryService = new DirectoryService(shardId, indexSettings) {
        @Override/* ww w  .  j a v a 2  s  .  c om*/
        public Directory newDirectory() throws IOException {
            return directory;
        }

        @Override
        public long throttleTimeInNanos() {
            return 0;
        }
    };
    store = new Store(shardId, indexSettings, directoryService, new DummyShardLock(shardId));
    IndexWriterConfig iwc = newIndexWriterConfig();
    TranslogConfig translogConfig = new TranslogConfig(shardId, createTempDir("translog"), indexSettings,
            BigArrays.NON_RECYCLING_INSTANCE);
    Engine.EventListener eventListener = new Engine.EventListener() {
        @Override
        public void onFailedEngine(String reason, @Nullable Exception e) {
            // we don't need to notify anybody in this test
        }
    };
    EngineConfig config = new EngineConfig(EngineConfig.OpenMode.CREATE_INDEX_AND_TRANSLOG, shardId, threadPool,
            indexSettings, null, store, new SnapshotDeletionPolicy(new KeepOnlyLastCommitDeletionPolicy()),
            newMergePolicy(), iwc.getAnalyzer(), iwc.getSimilarity(), new CodecService(null, logger),
            eventListener, new TranslogHandler(shardId.getIndexName(), logger),
            IndexSearcher.getDefaultQueryCache(), IndexSearcher.getDefaultQueryCachingPolicy(), translogConfig,
            TimeValue.timeValueMinutes(5), listeners);
    engine = new InternalEngine(config);
}

From source file:org.elasticsearch.search.profile.ProfileTests.java

License:Apache License

@BeforeClass
public static void before() throws IOException {
    dir = newDirectory();//from   w  ww .  jav  a 2s  .c  om
    RandomIndexWriter w = new RandomIndexWriter(random(), dir);
    final int numDocs = TestUtil.nextInt(random(), 1, 20);
    for (int i = 0; i < numDocs; ++i) {
        final int numHoles = random().nextInt(5);
        for (int j = 0; j < numHoles; ++j) {
            w.addDocument(new Document());
        }
        Document doc = new Document();
        doc.add(new StringField("foo", "bar", Store.NO));
        w.addDocument(doc);
    }
    reader = w.getReader();
    w.close();
    Engine.Searcher engineSearcher = new Engine.Searcher("test", new IndexSearcher(reader));
    searcher = new ContextIndexSearcher(engineSearcher, IndexSearcher.getDefaultQueryCache(),
            MAYBE_CACHE_POLICY);
}