projectdoc Toolbox

In order to completely restore the projectdoc document index, not only must the Lucene index be re-created and the projectdoc document cache cleared, but the internal projectdoc structures must also be rebuilt.

Audience
Type
Level of Experience
Since
2.0
Contents

The projectdoc Site Indexer is required after the database has been restored, a space has been imported, or for some reason the index is corrupt. This reindex may also be required if the algorithm for storing information by the projectdoc Toolbox in the Lucene index has been changed. The fact that this procedure is required after an update will be provided in the release notes of each version.

Not only needs the Lucene index be updated, but also the projectdoc caches need to be cleared and the projectdoc internal structure needs to be updated. Since the projectdoc Toolbox has no control over the standard Lucene Reindex Process, a projectdoc Reindex is required to be started via the projectdoc REST API. This can be done selectively on projectdoc spaces or on the complete site.

Note that the regular Lucene Reindex Process does no harm on the projectdoc document information in the database. Since the document are processed in random order, the contents of the properties may not be up-to-date. A reindex with the projectdoc Site Reindex will update the internal structures, the Lucene Index, and the cache.

Procedure

The procedure consists of only one simple step. 

 

A projectdoc Reindex can take quite a long time for large sites. Please make sure to run the indexer at an appropriate time for your organization!

Run the projectdoc Site Indexer

The following call runs a projectdoc Site Reindexer on all spaces, traversing each page. Each page is reindexed with Lucene and the internal structure is created.

{your-site}/confluence/rest/projectdoc-internal/1/indexer/site?reindex=true

In case not all spaces are projectdoc spaces, you may limit the reindex to these spaces by their space keys (spaceKeys). List the space keys comma-separated with no space characters: spaceKey1,spaceKey2,spaceKey3.

 

The API documentation for the projectdoc Site Indexer is on this page.

Related Information

The following sections provide additional information on reindexing (on the database and Lucene Index) and refreshing (the caches). It may be helpful to dig deeper into the installation in some cases.

projectdoc Site Indexer

The projectdoc Site Indexer is a REST service to refresh the index and cache for a collection spaces (or all spaces in case no space key is specified).

{your-site}/confluence/rest/projectdoc-internal/1/indexer/site

The following request parameters are supported.

spaceKeysThe keys of the spaces to index. If none is given, all spaces of the site are indexed.
traverseThe descendant traversal strategy. One of native or breadth-first (default).
refreshThe refresh strategy. One of forward, reverse, or both-directions (default).
reindexFlag to indicate whether (true) or not (false, default) the visited pages should be passed to the Lucene indexer for reindexing.
invalidateCacheIf set to true the pages from the page tree are removed from cache before refresh is executed. If false (default) the cache is updated during the refresh of the individual pages.

The service starts a long running task in the background. Therefore the returned code is 202 (Accepted) on success, 500 on errors. On success the response contains a reference to the long running task.

Clear the projectdoc Documents Cache

The projectdoc caches provide properties for the projectdoc documents. These properties are only used for rendering, not for Lucene searches.

 

Refreshing documents that are linking extensively multi-directional may need several refreshes.

In certain contexts, using the Refresh Page Tree (see Cache Refresh Actions) may help to refresh a tree top-down from the root to the leaves.

To refresh the projectdoc documents cache run the following steps.

  1. As a admin go to the "General configuration" section in the Confluence Administration
  2. Under "Administration" click "Cache Management"
  3. Find the projectdoc caches
  4. Click "Flush" to clear the "projectdoc Document Cache"

Rebuild Doctype Cache

The doctype cache provides information about doctypes at runtime. This information is required for instance for ancestor queries.

To rebuild the doctype cache the admin is required to have the projectdoc-admin role (other roles also have the required privilege, see Cache Refresh Actions for details).

  1. On a projectdoc page click on the page tool icon
  2. Then click "Refresh Doctype Cache" (dependent on your roles not all menu items may be available)

Run the Lucene Indexer

The reindexer updates the Lucene database for full text queries.

 

A reindex can take quite a long time for large sites. Please make sure to run the indexer at an appropriate time for your organization!

  1. As a admin go to the "General configuration" section in the Confluence Administration
  2. Under "Administration" click "Content Indexing"
  3. Click "Rebuild" to run the indexer

Clearing projectdoc Tables

The projectdoc Toolbox uses Active Objects (AO) tables to persistently cache projectdoc documents for performance reasons. The tables are only used for caching and store no information that cannot be derived from your Confluence pages. Therefore it is possible to clear those tables and repopulate them.

In case you have cleared the database tables, a simple Lucene reindex is not sufficient. You need to use the Indexer REST service to properly repopulate the AO tables. If you do not use this service, the projectdoc Toolbox won't be able to find projectdoc documents. A query, for instance employed by the Display Table Macro, will present not hits.

The following curl call shows how to start the projectdoc Reindexer without flushing the caches.

curl -n -s -X POST -H "Content-Type: application/json" "https://my.example.com/confluence/rest/projectdoc-internal/1/indexer/spaces"

Please change the URL part "my.example.com/confluence" to point to your Confluence server.

Resources

Cache Refresh Actions
projectdoc documents are stored in caches for quick access. Users may want to clear one of these caches.
Search Tips
Tips on specifying search queries for Lucene. This also applies to projectdoc's query macros.