Index and de-index programmatically
As we have seen in the JIRA architecture explained in Chapter 2, Understanding Plugin Framework, searching in JIRA is based on Apache Lucene. The Lucene indexes are stored in the File System and are used as the basis for the search queries executed in JIRA. Whenever an issue is updated, more records are created or existing records are updated for that particular issue in the filesystem.
It is possible to programmatically index selected or all issues or de-index an issue. Also, we can switch OFF or ON indexing selectively in our plugins if needed. In this recipe, we will see both of these.
How to do it...
Most of the indexing operations can be done with the help of IssueIndexManager
. An instance of IssueIndexManager
can be created either by injecting in the constructor or as follows:
IssueIndexManager indexManager = ComponentManager.getInstance().getIndexManager();
The following are the important operations supported by IssueIndexManager
:
reIndexAll()
– Indexes...