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 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 server. Decreasing this value impacts the Helix 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.