Swarm's search feature combines user, group, project, and file path searching. The standard Swarm searches can be extended to search file content and changelist description by using the optional Helix Core Search API.

You can download the Helix Core Search API installer from the Helix Search download page on the Perforce website. For more information, see the Helix Core Search Developer Guide and the Helix Search release notes.


If you make a configuration change, Swarm will not use it until the configuration cache has been reloaded, this forces Swarm to use the new configuration. You must be an admin or super user to reload the Swarm config cache. Navigate to the User id dropdown menu, select System Information, click the Cache Info tab, and click the Reload Configuration button.

Configure Swarm search with the following configuration block in the SWARM_ROOT/data/config.php file:

// this block should be a peer of 'p4'
'search' => array(
'maxlocktime' => 5000, // 5 seconds, in milliseconds
'p4_search_host' => '', // optional URL to the Helix Search host


The maxlocktime key specifies the maximum amount of time, in milliseconds, that any table within the Helix Core Server should be locked while performing fstat command searching. Increasing this value might allow better search results at the expense of potentially blocking other queries on the Helix Core Server. Decreasing this value impacts the Helix Core Server less, but may be insufficient for returning the desired search results.


The p4_search_host configurable specifies the URL of your Helix Search server. When configured, Swarm issues API calls to Helix Search to take advantage of its file content and description indexing.

Comment attachment thumbnail and blur generation

Swarm generates the blur and thumbnail images for Swarm comment attachments and stores them in the comment attachment depot.

To prevent Swarm clashing with Helix Search thumbnail and blur generation, set the Helix Core Server protections for the Swarm comment attachments depot directory so only the swarm user has access to it.


Swarm 2022.1 Patch 1 and later: By default, the Swarm package post-installation configuration script offers to create the comment attachment depot directory as //.swarm and set the protections so only the swarm user has access to it.

For example, if the comment attachment depot directory is //.swarm, set Helix Core Server protections for //.swarm to:

list user * * -//.swarm/...

admin user swarm * //.swarm/...

super user super * //.swarm/...

This prevents Helix Search creating thumbnails and blurs for files stored in the comment attachment depot directory.

More information