com.atlassian.jira.issue.index
Interface IssueIndexManager

All Known Implementing Classes:
DefaultIndexManager

public interface IssueIndexManager

Manages Lucene search indexes.


Method Summary
 long activate(String indexPath, com.atlassian.johnson.event.Event appEvent)
          Activates search indexes.
 void deactivate()
          Deactivates indexing (as happens from the admin page) and removes index directories.
 void deactivate(String filePath)
          Deactivate a specific search index and remove its directory.
 void deIndex(org.ofbiz.core.entity.GenericValue issue)
          Remove an issue from the search index.
 Collection getAllIndexPaths()
          Returns a Collection of Strings, each respesenting a path to the issue index directory, comment index directory and all existing plugin index directories.
 org.apache.lucene.search.IndexSearcher getCommentSearcher()
          Get an IndexSearcher that can be used to search the comment index.
 Collection getExistingPluginsPaths()
          Returns a collection of Strings, each one representing the absolute path to the actual existing directory where a plugin keeps its indexes.
 org.apache.lucene.search.IndexSearcher getIssueSearcher()
          Get an IndexSearcher that can be used to search the issue index.
 String getPluginsRootPath()
          Get the root path of the index directory for plugins.
 boolean isIndexingEnabled()
          Is the indexing system enabled.
 long optimize()
          Optimize the underlying indexes.
 void reIndex(org.ofbiz.core.entity.GenericValue issue)
          Reindex an issue (eg.
 void reIndex(Issue issue)
          Reindex an issue (eg.
 long reIndexAll()
          Reindex all issues.
 long reIndexAll(com.atlassian.johnson.event.Event event)
          Reindex all issues.
 long reIndexIssueObjects(Collection issueObjects)
          Reindex a set of issues.
 long reIndexIssues(Collection issues)
          Reindex a set of issues (GenericValues).
 long reIndexIssues(IssuesIterable issuesIterable, com.atlassian.johnson.event.Event event)
          Reindex a list of issues, passing an optional event that will be set progress
 void shutdown()
          Shuts down the indexing manager and closes its resources (if any).
 

Method Detail

isIndexingEnabled

public boolean isIndexingEnabled()
Is the indexing system enabled.


reIndexAll

public long reIndexAll()
                throws IndexException
Reindex all issues.

Returns:
Reindex time in ms.
Throws:
IndexException

reIndexAll

public long reIndexAll(com.atlassian.johnson.event.Event event)
                throws IndexException
Reindex all issues.

Parameters:
event - Reindex Event that the caller has set (see source in IndexAdminImpl.doActivate()).
Returns:
Reindex time in ms.
Throws:
IndexException

reIndex

public void reIndex(org.ofbiz.core.entity.GenericValue issue)
             throws IndexException
Reindex an issue (eg. after field updates).

Throws:
IndexException

reIndexIssues

public long reIndexIssues(IssuesIterable issuesIterable,
                          com.atlassian.johnson.event.Event event)
                   throws IndexException
Reindex a list of issues, passing an optional event that will be set progress

Parameters:
issuesIterable -
event - Can be null, else progress will be sent to the event
Returns:
Reindex time in ms.
Throws:
IndexException

reIndex

public void reIndex(Issue issue)
             throws IndexException
Reindex an issue (eg. after field updates).

Throws:
IndexException

deIndex

public void deIndex(org.ofbiz.core.entity.GenericValue issue)
             throws IndexException
Remove an issue from the search index.

Throws:
IndexException

reIndexIssues

public long reIndexIssues(Collection issues)
                   throws IndexException
Reindex a set of issues (GenericValues). Use reIndexIssueObjects(Collection) instead when possible.

Parameters:
issues - The Issue GenericValues to reindex.
Returns:
Reindex time in ms.
Throws:
IndexException

reIndexIssueObjects

public long reIndexIssueObjects(Collection issueObjects)
                         throws IndexException
Reindex a set of issues.

Parameters:
issueObjects - Set of Issues to reindex.
Returns:
Reindex time in ms.
Throws:
IndexException

getPluginsRootPath

public String getPluginsRootPath()
Get the root path of the index directory for plugins. Any plugin that keeps indexes should create its own sub-directory under this path and create its indexes in its own sub-directory


getExistingPluginsPaths

public Collection getExistingPluginsPaths()
Returns a collection of Strings, each one representing the absolute path to the actual existing directory where a plugin keeps its indexes. Each directory in the collection should be a sub-directory under the plugin's index root path. See getPluginsRootPath().

If a plugin index root path does not exist, or is empty (no sub-directopries exist) then an empty collection will be returned.


getAllIndexPaths

public Collection getAllIndexPaths()
Returns a Collection of Strings, each respesenting a path to the issue index directory, comment index directory and all existing plugin index directories.


getIssueSearcher

public org.apache.lucene.search.IndexSearcher getIssueSearcher()
Get an IndexSearcher that can be used to search the issue index.

Note: This is an unmanaged IndexSearcher. You MUST call IndexSearcher.close() when you are done with it. Alternatively you should really call SearchProviderFactory#getSearcher(String)) passing in SearchProviderFactory.ISSUE_INDEX as it is a managed searcher and all the closing semantics are handled for you.


getCommentSearcher

public org.apache.lucene.search.IndexSearcher getCommentSearcher()
Get an IndexSearcher that can be used to search the comment index.

Note: This is an unmanaged IndexSearcher. You MUST call IndexSearcher.close() when you are done with it. Alternatively you should really call SearchProviderFactory#getSearcher(String)) passing in SearchProviderFactory.COMMENT_INDEX as it is a managed searcher and all the closing semantics are handled for you.


deactivate

public void deactivate()
                throws Exception
Deactivates indexing (as happens from the admin page) and removes index directories.

Throws:
Exception

optimize

public long optimize()
              throws IndexException
Optimize the underlying indexes. Make the subsequent searching more efficient.

Returns:
the amount of time in millis this method took (because you are too lazy to time me), 0 if indexing is not enabled or -1 if we cannot obtain the index writeLock.
Throws:
IndexException - if the indexes are seriously in trouble

activate

public long activate(String indexPath,
                     com.atlassian.johnson.event.Event appEvent)
              throws Exception
Activates search indexes.

Parameters:
indexPath - Root path to the search index.
appEvent - Optional reindex Event that the caller has set (see source in IndexAdminImpl.doActivate()) or null.
Returns:
Reindex time in ms
Throws:
Exception

deactivate

public void deactivate(String filePath)
                throws Exception
Deactivate a specific search index and remove its directory.

Throws:
Exception

shutdown

public void shutdown()
Shuts down the indexing manager and closes its resources (if any).



Copyright © 2002-2007 Atlassian. All Rights Reserved.