Install Helix Search

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

Requirements

To install Helix 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 Helix 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 Helix Core Server and Elasticsearch instance.

Install Helix Search on Linux

To install Helix Search for Linux:

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

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

    Follow the instructions for your OS distribution:

  3. To configure Helix 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 Helix Search using configure.sh script, see Configure Helix Search.

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

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

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

  4. Restart Helix 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:
  7. http://myhelixsearch.mydomain.com:1601/p4search/settings/status

    The Service status page opens. 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 Helix Search on Windows

To install the Helix Search, Helix Core Server, and Elasticsearch services:

  1. Review the process overview. See Install Helix Search.
  2. Check that you have met the prerequisites before starting the installation. See Prerequisites .
  3. Download the Helix Search installer from the Helix Search download page on the Perforce website.
  4. Double click on the installer to start it, and confirm that you want the installer to make changes to your computer when prompted.
  5. To start the installation, click Next >:
  6. Select the folder you want install to and click Next >:
  7. Configure the Helix Search service and click Next >.
  8. By default, the Helix Search service is public to machines on the same network.

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

  9. Configure the Helix Core Server and click Next >:
  10. Configure the Elasticsearch connection and click Next >:
  11. Configure image detection and click Next>:
  12. To complete the installation, click Finish.
  13. To configure Helix Search, do one of the following as an admin user:
    • Open the configuration web page using the connection details you set for the Helix 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 Helix 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 Helix 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 Helix 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.8.1-xxxx.zip             (Elasticsearch filter plugin for Elasticsearch 8.8.1)
    ...
    - p4search-filter-8.17.3-xxxx.zip            (Elasticsearch filter plugin for Elasticsearch 8.17.3)
  - 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 Helix 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