Class LuceneIncrementalIndexManager

java.lang.Object
com.atlassian.confluence.internal.search.LuceneIncrementalIndexManager
All Implemented Interfaces:
IncrementalIndexManager

@LuceneIndependent @Internal public class LuceneIncrementalIndexManager extends Object implements IncrementalIndexManager
Entry point to the majority of the Lucene indexing subsystem.
Since:
7.9.0
  • Field Details

  • Constructor Details

  • Method Details

    • isFlushing

      @Transactional(readOnly=true, propagation=SUPPORTS) public boolean isFlushing()
      Description copied from interface: IncrementalIndexManager
      Returns true if the index queue is currently being flushed.
      Specified by:
      isFlushing in interface IncrementalIndexManager
      Returns:
      true if flushing, false otherwise.
    • flushQueue

      @Transactional(readOnly=true, propagation=REQUIRED) public boolean flushQueue(IndexManager.IndexQueueFlushMode flushMode)
      Description copied from interface: IncrementalIndexManager
      Flushes the index queue, processing a batch of the tasks
      Specified by:
      flushQueue in interface IncrementalIndexManager
      Parameters:
      flushMode - - whether to flush the entire queue, or just one batch of batchsize as specified by the system property index.queue.batch.size
      Returns:
      whether the flush actually took place
    • resetIndexQueue

      @Transactional(propagation=REQUIRED) public void resetIndexQueue()
      Delete all of the entries on the index queue. This should NOT be called during the normal running of Confluence since all pending Index Tasks will be deleted WITHOUT being processed.
      Specified by:
      resetIndexQueue in interface IncrementalIndexManager
    • getLastNonEmptyFlushStats

      @Transactional(readOnly=true, propagation=SUPPORTS) public FlushStatistics getLastNonEmptyFlushStats()
      Specified by:
      getLastNonEmptyFlushStats in interface IncrementalIndexManager
      Returns:
      the information about last queue flush. null if no flush has occured from system start.
    • getQueueSize

      @Transactional(readOnly=true, propagation=SUPPORTS) public int getQueueSize()
      Specified by:
      getQueueSize in interface IncrementalIndexManager
      Returns:
      the number of pending items in the corresponding index queue
    • getSizeInBytes

      @Transactional(readOnly=true, propagation=SUPPORTS) public long getSizeInBytes()
      Specified by:
      getSizeInBytes in interface IncrementalIndexManager
      Returns:
      size of the index in bytes
    • addTask

      @Transactional(propagation=REQUIRED) public void addTask(ConfluenceIndexTask task)
      Description copied from interface: IncrementalIndexManager
      Adds a new task to the index queue
      Specified by:
      addTask in interface IncrementalIndexManager
    • getTargetIndex

      @Transactional(readOnly=true, propagation=SUPPORTS) public SearchIndex getTargetIndex()
    • refreshIndex

      public void refreshIndex() throws IOException
      Description copied from interface: IncrementalIndexManager
      Refresh the index immediately, which publishes its most recent changes and makes them available for searching. This method is only applicable to the OpenSearch platform.
      Specified by:
      refreshIndex in interface IncrementalIndexManager
      Throws:
      IOException