Prerequisites
This section describes the prerequisites for the Helix Search service, which can be deployed in a variety of ways depending on your use case.
System requirements
The system requirements for Helix Search will depend on your type of deployment, whether it's a small site, a medium site or a proxy. For large site deployments, contact the Perforce team.
Helix Search is a self-contained Java application designed and tested against AdoptOpenJDK Java 17. The Windows installers and Linux packages deploy their own Java runtime environment (OpenJDK 17) and wrap it as a service.
The Helix Search JAR is available separately from the Perforce website and can be deployed without the need for a service wrapper. See Manually deploy a JAR file.
The Elasticsearch and Helix Core Server services can be deployed on the same instance or different instances, but all of the instances must be reachable over the network.
Small site deployment
For a small site deployment, Helix Search, Helix Core Server, and Elasticsearch are all deployed on separate instances and a single Elasticsearch index is used.
Here are typical system requirements for a small site deployment, along with approximate index times. For example, with 16 CPUs and 64GB RAM allocated to Helix Search and Elasticsearch, it would take approximately 0.5 hours to index 10,000 image files.
|
Files |
Index time |
Helix Search configuration |
Elasticsearch configuration |
DeepDetect (AI tagging) |
Helix Render
(3D rendering) |
|---|---|---|---|---|---|
|
Text < 3GB total file size < 300,000 files |
1 hour | 12 CPUs, 32GB RAM |
4 CPUs at low utilization, 32GB RAM |
N/A | N/A |
|
Images < 3GB total file size < 10,000 files |
0.5 hours | 16 CPUs, 32GB RAM |
Minimum CPU, 32GB RAM |
N/A | N/A |
|
Images with AI tagging < 3GB total file size < 10,000 files |
4 hours | Minimum CPU, 32GB RAM |
Minimum CPU, 32GB RAM |
64 CPUs, 48GB RAM | N/A |
|
3D assets < 90GB total file size < 2,000 files |
0.5 hours | 10 CPUs, 32GB RAM |
Minimum CPU, 32GB RAM |
N/A | 16 instances, 64 CPUs, 64GB RAM |
Configuration options
The following default configuration options are used for a small site deployment:
-
com.perforce.p4search.index.bulksize=100
For more information about Elasticsearch batch size, see Indexer configuration.
-
com.perforce.p4search.index.threads=8
For more information about indexer thread pool size, see Indexer configuration.
-
com.perforce.p4search.tika.timeout=20000
For more information about parsing timeout, see Tika configuration.
-
com.perforce.p4search.tika.maxfilesize=10485760
For more information about maximum content file size, see Tika configuration.
-
com.perforce.p4search.core.maxfilesize=1073741824
For more information about maximum sync file size, see Helix Core Server configuration.
-
Elasticsearch recommends an index size of 50 GB for optimal performance. To align with this best practice, Helix Search automatically creates a partitioned index once the index reaches 50 GB. This behavior is defined in the etc/policy.json file.
Medium site deployment
For a medium site deployment, multiple Elasticsearch indexes are used by Helix Search services from a single Helix Core Server.
Here are the typical system requirements for a medium site deployment, along with approximate index times. For example, with 16 CPUs and 64GB RAM allocated to Helix Search and Elasticsearch, it would take approximately 2.5 hours to index 100,000 image files.
|
Files |
Index time |
Helix Search configuration |
Elasticsearch configuration |
DeepDetect (AI tagging) |
Helix Render
(3D rendering) |
|---|---|---|---|---|---|
|
Text < 30GB total file size < 3,000,000 files |
6.5 hours | 12 CPUs, 32GB RAM |
4 CPUs at low utilization, 32GB RAM |
N/A | N/A |
|
Images < 30GB total file size < 100,000 files |
2.5 hours | 16 CPUs, 32GB RAM |
Minimum CPU, 32GB RAM |
N/A | N/A |
|
Images with AI tagging < 30GB total file size < 100,000 files |
40 hours | Minimum CPU, 32GB RAM |
Minimum CPU, 32GB RAM |
64 CPUs, 48GB RAM | N/A |
|
3D assets < 900GB total file size < 20,000 files |
4 hours | 10 CPUs, 32GB RAM |
Minimum CPU, 32GB RAM |
N/A | 16 instances, 64 CPUs, 64GB RAM |
Proxy deployment
If you are using proxy-based permissions, you must ensure that the Helix Search IP address is added to the protections table in Helix Core Server with the appropriate permission entries.
Helix Search acts as a proxy or intermediary when granting proxy permissions. For more information, see Direct connections or intermediaries in the Helix Core Server Administration Documentation.
Related topics
To deploy and install Helix Search on Windows or Linux, use the Helix Search installer (msi installer or deb/rpm package). See Set up Helix Search.