org.compass.core.lucene.engine.optimizer
Class AbstractLuceneSearchEngineOptimizer

java.lang.Object
  extended by org.compass.core.lucene.engine.optimizer.AbstractLuceneSearchEngineOptimizer
All Implemented Interfaces:
SearchEngineOptimizer, LuceneSearchEngineOptimizer
Direct Known Subclasses:
AdaptiveOptimizer, AggressiveOptimizer, NullOptimizer

public abstract class AbstractLuceneSearchEngineOptimizer
extends Object
implements LuceneSearchEngineOptimizer

Author:
kimchy

Field Summary
protected  org.apache.commons.logging.Log log
           
 
Constructor Summary
AbstractLuceneSearchEngineOptimizer()
           
 
Method Summary
protected abstract  boolean doNeedOptimizing(String subIndex, LuceneSubIndexInfo indexInfo)
           
protected abstract  void doOptimize(String subIndex, LuceneSubIndexInfo indexInfo)
           
protected  void doStart()
           
protected  void doStop()
           
 LuceneSearchEngineFactory getSearchEngineFactory()
           
 boolean isRunning()
          Returns true if the optimizer is running.
 boolean needOptimization()
          Returns true if the search engine index requires optimization (depends on the optimizer configured).
 boolean needOptimization(String subIndex)
          Returns true of the sub index requires optimization (depends on the optimizer configured).
 void optimize()
          Optimizes the search engine index if it requires optimization.
 void optimize(String subIndex)
          Optimizes the sub index if it requires optimization.
 void setSearchEngineFactory(LuceneSearchEngineFactory searchEngineFactory)
           
 void start()
          Starts the given optimizer.
 void stop()
          Stops the given optimizer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.compass.core.lucene.engine.optimizer.LuceneSearchEngineOptimizer
canBeScheduled
 

Field Detail

log

protected final org.apache.commons.logging.Log log
Constructor Detail

AbstractLuceneSearchEngineOptimizer

public AbstractLuceneSearchEngineOptimizer()
Method Detail

start

public void start()
           throws SearchEngineException
Description copied from interface: SearchEngineOptimizer
Starts the given optimizer. Will start a scheduled optimizer if configured.

Specified by:
start in interface SearchEngineOptimizer
Throws:
SearchEngineException

doStart

protected void doStart()
                throws SearchEngineException
Throws:
SearchEngineException

stop

public void stop()
          throws SearchEngineException
Description copied from interface: SearchEngineOptimizer
Stops the given optimizer. Will stop the scheduled optimizer if configured.

Note that if the optimizer is stopped while optimizing, it might take some time till the optimizer will actually stop.

Specified by:
stop in interface SearchEngineOptimizer
Throws:
SearchEngineException

doStop

protected void doStop()
               throws SearchEngineException
Throws:
SearchEngineException

isRunning

public boolean isRunning()
Description copied from interface: SearchEngineOptimizer
Returns true if the optimizer is running.

Specified by:
isRunning in interface SearchEngineOptimizer
Returns:
true if the optimizer is running

optimize

public void optimize()
              throws SearchEngineException
Description copied from interface: SearchEngineOptimizer
Optimizes the search engine index if it requires optimization.

Specified by:
optimize in interface SearchEngineOptimizer
Throws:
SearchEngineException

optimize

public void optimize(String subIndex)
              throws SearchEngineException
Description copied from interface: SearchEngineOptimizer
Optimizes the sub index if it requires optimization.

Specified by:
optimize in interface SearchEngineOptimizer
Parameters:
subIndex - The sub index to optimize
Throws:
SearchEngineException

needOptimization

public boolean needOptimization()
                         throws SearchEngineException
Description copied from interface: SearchEngineOptimizer
Returns true if the search engine index requires optimization (depends on the optimizer configured).

Specified by:
needOptimization in interface SearchEngineOptimizer
Returns:
true if the search engine index requires optimization
Throws:
SearchEngineException

needOptimization

public boolean needOptimization(String subIndex)
                         throws SearchEngineException
Description copied from interface: SearchEngineOptimizer
Returns true of the sub index requires optimization (depends on the optimizer configured).

Specified by:
needOptimization in interface SearchEngineOptimizer
Parameters:
subIndex - The sub index to check if needs optimization
Returns:
true if the sub index requires optimization
Throws:
SearchEngineException

doOptimize

protected abstract void doOptimize(String subIndex,
                                   LuceneSubIndexInfo indexInfo)
                            throws SearchEngineException
Throws:
SearchEngineException

doNeedOptimizing

protected abstract boolean doNeedOptimizing(String subIndex,
                                            LuceneSubIndexInfo indexInfo)
                                     throws SearchEngineException
Throws:
SearchEngineException

getSearchEngineFactory

public LuceneSearchEngineFactory getSearchEngineFactory()
Specified by:
getSearchEngineFactory in interface LuceneSearchEngineOptimizer

setSearchEngineFactory

public void setSearchEngineFactory(LuceneSearchEngineFactory searchEngineFactory)
Specified by:
setSearchEngineFactory in interface LuceneSearchEngineOptimizer


Copyright (c) 2004-2006 The Compass Project.