com.atlassian.confluence.search.lucene
Class MultiThreadedIndexRebuilder

java.lang.Object
  extended by com.atlassian.confluence.search.lucene.MultiThreadedIndexRebuilder
All Implemented Interfaces:
com.atlassian.bonnie.search.BatchIndexer

public class MultiThreadedIndexRebuilder
extends Object
implements com.atlassian.bonnie.search.BatchIndexer

Performs a rebuild the Confluence index using multithreaded approach. The index is first rebuilt into a temporary location, with each thread writing to its own temporary file. Once all workers have completed their respective indexing jobs, we merge all temporary file indexes together, truncate/delete the main index and then merge and promote the temporary index to be the main search index.


Constructor Summary
MultiThreadedIndexRebuilder()
           
 
Method Summary
 IndexingTask getLastReindexingTask()
           
 void indexEntities(com.atlassian.core.util.ProgressMeter progress)
           
 boolean isReIndexRunning()
           
 void reIndexAll()
           
 void setAnalyzerFactory(com.atlassian.bonnie.analyzer.LuceneAnalyzerFactory analyzerFactory)
           
 void setAnyTypeDao(AnyTypeDao anyTypeDao)
           
 void setBootstrapManager(BootstrapManager bootstrapManager)
           
 void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)
           
 void setI18NBeanFactory(I18NBeanFactory i18NBeanFactory)
           
 void setIndexManager(ConfluenceIndexManager indexManager)
           
 void setIndexTaskFactory(IndexTaskFactory indexTaskFactory)
           
 void setLuceneConnection(com.atlassian.bonnie.ILuceneConnection luceneConnection)
           
 void setSearchableDao(SearchableDao searchableDao)
           
 void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
           
 void unIndexAll()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiThreadedIndexRebuilder

public MultiThreadedIndexRebuilder()
Method Detail

reIndexAll

public void reIndexAll()

indexEntities

public void indexEntities(com.atlassian.core.util.ProgressMeter progress)
Specified by:
indexEntities in interface com.atlassian.bonnie.search.BatchIndexer

unIndexAll

public void unIndexAll()
Specified by:
unIndexAll in interface com.atlassian.bonnie.search.BatchIndexer

isReIndexRunning

public boolean isReIndexRunning()

getLastReindexingTask

public IndexingTask getLastReindexingTask()

setEventPublisher

public void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)

setAnalyzerFactory

public void setAnalyzerFactory(com.atlassian.bonnie.analyzer.LuceneAnalyzerFactory analyzerFactory)

setSearchableDao

public void setSearchableDao(SearchableDao searchableDao)

setBootstrapManager

public void setBootstrapManager(BootstrapManager bootstrapManager)

setLuceneConnection

public void setLuceneConnection(com.atlassian.bonnie.ILuceneConnection luceneConnection)

setIndexTaskFactory

public void setIndexTaskFactory(IndexTaskFactory indexTaskFactory)

setAnyTypeDao

public void setAnyTypeDao(AnyTypeDao anyTypeDao)

setTransactionManager

public void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)

setIndexManager

public void setIndexManager(ConfluenceIndexManager indexManager)

setI18NBeanFactory

public void setI18NBeanFactory(I18NBeanFactory i18NBeanFactory)


Copyright © 2003-2012 Atlassian. All Rights Reserved.