Install P4 Search

This section describes the installation process for P4 Search. P4 Search can be installed on Linux or Windows.

Requirements

To install P4 Search, you will need:

  • Linux hosts: Ubuntu 20.04, 22.04, 24.04, or RHEL 8, 9
  • Windows hosts: Windows 10, Windows 2016 server, Windows 2019 server, or Windows 2022 server
  • HTTPS (optional): If you want to use HTTPS for the P4 Search service, create a Java keystore. For instructions on creating a Java keystore, see Optional HTTPS security settings.

The p4search service

The p4search service is a wrapped JAR that runs as a Windows or Linux service. It uses a Java properties file, config.properties, to store the services configuration details and connection information for the P4 Server and Elasticsearch instance.

Install P4 Search on Linux

To install P4 Search for Linux:

  1. Import the Perforce package signing key and configure the Perforce package repository on the server hosting P4 Plugin Filter. To do this, see Install the P4 Plugin Filter.

  2. Install the P4 Search package on the server hosting P4 Search.

    Follow the instructions for your OS distribution:

  3. To configure P4 Search, you can either run the following configuration script:

    cd /opt/perforce/helix-p4search/etc
    ./configure.sh
    

    Or edit the config.properties file located in the installation directory as a root user.

    • For instructions on configuring P4 Search using configure.sh script, see Configure P4 Search.

    • For instructions on configuring services used by P4 Search, see Advanced configuration.

    • For a full list of all the properties for the services used by P4 Search, see Configure P4 Search.

    • When the P4 Search service has been configured and is running, you can configure any of the services from the P4 Search web page if you prefer. See Configure P4 Search.

  4. Restart P4 Search service:
  5. Follow the instructions for your OS distribution:

  6. Check that everything is green by navigating to the service status page. You might need to log in to view the page:

    http://myhelixsearch.mydomain.com:1601/p4search/settings/status

    For more information about the service status page, see Check service status.

    If the service status page fails to open, see Service status page fails to open.

Install P4 Search on Windows

To learn how to install the P4 Search, P4 Server, and Elasticsearch services, watch this video or review the instructions following the video.

  1. Review the process overview. See Set up P4 Server.
  2. Check that you have met the prerequisites before starting the installation. See Prerequisites .
  3. Download the P4 Search installer from the P4 Search download page on the Perforce website.
  4. Double click on the installer to start it. When prompted, confirm that you want the installer to make changes to your computer.
  5. To start the installation process, click Next.
  6. Accept the license agreement to continue with the upgrade and click Next.
  7. Select a destination folder for the installation and click Next.

    P4 Search is installed at the selected location.

  8. Configure the P4 Search service and click Next.
  9. By default, the P4 Search service is public to machines on the same network.

    You can configure the P4 Search web service to use HTTPS. See Optional HTTPS security settings.

  10. Configure the P4 Server and click Next.
  11. Configure the Elasticsearch connection and click Next.
  12. Configure image detection and click Next.
  13. Configure speech recognition and click Next.
  14. To complete the installation, click Finish.
  15. To fully configure P4 Search, do one of the following as an admin user:
    • Open the configuration web page using the connection details you set for the P4 Search service during the installation.
    • Edit the config.properties file in the installation directory.

Installer layout

The directory layout after installation depends on the operating system, but is typically located under:

  • Linux:/opt/perforce/helix-p4search/...
  • Windows:c:\Program Files\Perforce\helix-p4search\...
  - etc/
    - config.properties                          (configuration information for the p4search service)
    - configure.sh                               (script file to configure P4 Search)
    - indexFilter.json                           (location where index filter mappings are saved)
    - typesFilter.json                           (stores all the different file types) 
    - debug-log4j2.xml                           (sample log configuration file for debug level) 
    - info-log4j2.xml                            (sample log configuration file for debug info) 
    - log4j2.xml                                 (standard log configuration file) 
    - mapping.json                               (standard Elasticsearch field mappings) 
    - settings.json                              (standard Elasticsearch index settings)
    - policy.json                                (stores the configuration settings, including default values, 
                                                  for a specific policy or set of rules) 
    - truststore.jks                             (location of P4 Search's local trust store)
  - jre/                                         (Java RunTime)
  - lib/
    - f3d/                                       (F3D application binaries. 
                                                  Used to create 2D preview images if Blender is not present)
    - helix-core-search-ping.p4-extension        (checks if the external URL of your P4 Search instance is reachable)
    - helix-core-search-asset.p4-extension       (indexes your assets)
    - helix-core-search-indexer.p4-extension     (indexes your changes)
    - helix-core-search-obliterate.p4-extension  (removes obliterated files from the index)
    - p4search-xxx.jar                           (P4Search service)
    - p4search-filter-8.12.1-xxxx.zip             (Elasticsearch filter plugin for Elasticsearch 8.12.1)
    ...
    - p4search-filter-8.19.0-xxxx.zip            (Elasticsearch filter plugin for Elasticsearch 8.19.0)
  - log/
    - error.log                                  (service wrapper error log)
    - p4search.log                               (P4Search service log)
  - sbin/
    - p4search                                   (service wrapper)
    - p4search.vmoptions                         (wrapper JVM options)
  - tmp/                                         (temporary file directory)
  - jnl/                                         (keeps track of index requests)
    - RenderQueue.jnl                            (render queue)
    - BackgroundIndexQueue.jnl                   (background index queue)
    - IndexQueue.jnl                             (index queue)
    - *.tmp                                      (temporary files in the process of recovery)
    - *.ckp                                      (checkpoint files)

Advanced users: You can allocate more memory to P4 Search by setting -Xms and -Xmx in the jvmoptions file:
  • Linux: /opt/perforce/helix-p4search/sbin/p4search.vmoptions
  • Windows: c:\Program Files\Perforce\helix-p4search\sbin\p4search.vmoptions

By default, there are no settings for these.

Complete post-installation tasks

Related topics