/** * This essentially kills the backend: needed to release the IndexWriter lock * so that the CheckIndex task can be run. * You'll need to ignore further issues if indexing is attempted, and even shutdown * might not be graceful (the shutdown is not designed to be recoverable). */ private static void stopBackend(DirectoryBasedIndexManager directoryBasedIndexManager) { WorkspaceHolder backendQueueProcessor = (WorkspaceHolder) directoryBasedIndexManager.getWorkspaceHolder(); backendQueueProcessor.getIndexResources().shutdown(); }
private void assertExclusiveIsEnabled(IndexManagerHolder allIndexesManager, String indexName, boolean expectExclusive) { DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) allIndexesManager.getIndexManager( indexName ); WorkspaceHolder workspaceHolder = indexManager.getWorkspaceHolder(); AbstractWorkspaceImpl workspace = workspaceHolder.getIndexResources().getWorkspace(); if ( expectExclusive ) { assertEquals( ExclusiveIndexWorkspaceImpl.class, workspace.getClass() ); } else { assertEquals( SharedIndexWorkspaceImpl.class, workspace.getClass() ); } }
public AbstractWorkspaceImpl extractWorkspace(IndexedTypeIdentifier indexedType) { DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) extractIndexManager( indexedType ); WorkspaceHolder backend = indexManager.getWorkspaceHolder(); return backend.getIndexResources().getWorkspace(); }
private void assertEfficientIndexingUsed(SearchIntegrator searchIntegrator, Class<?> clazz) { DirectoryBasedIndexManager im = (DirectoryBasedIndexManager) searchIntegrator.getIndexBindings().get(clazz) .getIndexManagerSelector().all().iterator().next(); WorkspaceHolder workspaceHolder = im.getWorkspaceHolder(); LuceneBackendResources indexResources = workspaceHolder.getIndexResources(); IndexWorkVisitor<Void, LuceneWorkExecutor> visitor = indexResources.getWorkVisitor(); assertTrue(TestingUtil.extractField(visitor, "updateExecutor") instanceof ByTermUpdateWorkExecutor); } }
protected static AbstractWorkspaceImpl extractWorkspace(MutableSearchFactory sf, Class<?> type) { EntityIndexBinding indexBindingForEntity = sf.getIndexBindings().get( type ); DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) indexBindingForEntity.getIndexManagerSelector().all().iterator().next(); WorkspaceHolder backend = (WorkspaceHolder) indexManager.getWorkspaceHolder(); return backend.getIndexResources().getWorkspace(); }
@Test public void testNothingTest() { SearchIntegrator searchFactory = getSearchFactory().unwrap( SearchIntegrator.class ); EntityIndexBinding indexBindingForEntity = searchFactory.getIndexBindings().get( Clock.class ); Set<IndexManager> indexManagers = indexBindingForEntity.getIndexManagerSelector().all(); assertEquals( 1, indexManagers.size() ); DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) indexManagers.iterator().next(); WorkspaceHolder backend = (WorkspaceHolder) indexManager.getWorkspaceHolder(); assertEquals( 5, backend.getIndexResources().getMaxQueueLength() ); }
IndexWriter writer = backendProcessor.getIndexResources().getWorkspace().getIndexWriter(); Document document = new Document(); document.add( new StringField( "id", "1", org.apache.lucene.document.Field.Store.NO ) );
IndexWriter writer = backendProcessor.getIndexResources().getWorkspace().getIndexWriter(); Document document = new Document(); document.add( new StringField( "id", "1", org.apache.lucene.document.Field.Store.NO ) );