- Created by Robert Reiner, last modified on 11. Feb 2022
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
- Deprecated
- 5.0
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.
Deprecated since Version 5
The Index Service is deprecated since version 5 of the projectdoc Toolbox.
Use the Rebuilder Service instead. Please refer to the projectdoc Rebuild Manual for details.
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.
spaceKeys | The keys of the spaces to index. If none is given, all spaces of the site are indexed. |
---|---|
traverse | The descendant traversal strategy. One of native or breadth-first (default). |
refresh | The refresh strategy. One of forward , reverse , or both-directions (default). |
reindex | Flag to indicate whether (true ) or not (false , default) the visited pages should be passed to the Lucene indexer for reindexing. |
invalidateCache | If 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.
- As a admin go to the "General configuration" section in the Confluence Administration
- Under "Administration" click "Cache Management"
- Find the projectdoc caches
- 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).
- On a projectdoc page click on the page tool icon
- 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!
- As a admin go to the "General configuration" section in the Confluence Administration
- Under "Administration" click "Content Indexing"
- 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.
- projectdoc Rebuild Manual
- Information for administrators on how to maintain projectdoc documents or to build them from scratch.
- Search Tips
- Tips on specifying search queries for Lucene. This also applies to projectdoc's query macros.
- Logging
- List of loggers for monitoring projectdoc.