Configuring Helix Search services

Note
  • You must be an admin user to configure Helix Search.

  • The Helix Search service must be configured to view the Service status page and to configure services using the Configuration page:

    • Windows installer: Basic Helix Search services are configured as part of the installation process.

    • Linux installation: The Helix Search service must be configured manually by editing the etc/config.properties file. See Configure the Helix Search service.

Tip

Helix Search can also be configured using the config.properties file, see Configure services used by Helix Search.

Configure Helix Search from the web UI.

To configure Helix Search from the web UI:

  1. Open Settings from the side-navigation bar.

  2. Select Configure and the Configuration page is displayed.

  3. Expand the configuration you want to edit, and make your changes.

  4. To update the configuration with your changes, select Apply.

Helix Search configuration

Configurable Configurable name in config.properties file Default Description

Product Name

com.perforce.p4search.service.product

p4search

The name that is shown in the Helix Server log.

Product version

com.perforce.p4search.service.version

0.1

The product version that is shown in the Helix Server log. Default value, the installed version of Helix Search.

Log Configuration File

com.perforce.p4search.service.log

./etc/log4j2.xml

Set the log file name the Helix Search log is saved as.

Configuration file location

com.perforce.p4search.service.location

 

empty

 

The location of the configuration file in the file system.

 

Host Address

com.perforce.p4search.service.host

0.0.0.0

The host IP address for the Helix Search service.

Helix Search service Port

com.perforce.p4search.service.port

1601

The port number for the Helix Search service.

Protocol

com.perforce.p4search.service.protocol

http

The protocol used for the Helix Search service. Options are: http or https.

Java Keystore Location

com.perforce.p4search.service.keystore

empty

Only if protocol is set to https. The location of the Java Keystore, see SSL security for Helix Search.

Java Keystore Password

com.perforce.p4search.service.keypass

empty

Only if protocol is set to https. The location of the Java Keystore, see SSL security for Helix Search.

(CORS) Allowed Origin

com.perforce.p4search.service.access-control-allow-origin

empty

Cross Origin Resource Sharing (CORS). Specify an origin for the browser to allow resource access.

Setup Retry Interval

com.perforce.p4search.service.startup-retry

30000

The retry interval used by Helix Search when locating ElasticSearch and Helix Server Services (milliseconds).

Index Auth Token

com.perforce.p4search.service.token

00000000-0000-0000-0000-000000000000

An X-Auth-Token to validate configuration requests.

Help URL

com.perforce.p4search.help.url

https://www.perforce.com/manuals/
p4search/Content/P4Search/Home-p4search.html

The URL of the Helix Search help documentation. Enables you to change the URL of the help document. For example, if you are running an isolated system and need to host it on your own server.

Micro-services URL

com.perforce.p4search.service.external-url

http://localhost:1601

The URL used for P4 Properties and the other micro-services.

Helix Core Server configuration

Configurable Configurable name in config.properties file Default Description

Perforce Port

com.perforce.p4search.core.p4port

localhost:1666

The Helix Server RPC host and port. For example, perforce.com:1666 or ssl.perforce.com:1666 if protocol is set to https.

P4Trust

com.perforce.p4search.core.p4trust

empty

The p4trust trusted fingerprint.

Trusted Services

com.perforce.p4search.core.allowed

empty

A comma-separated list of trusted IP addresses for Proxy services. For example, the IP address for your Swarm instance.

Perforce Service User

com.perforce.p4search.core.service.p4user

p4search

A Standard or Service user with a minimum of admin access. Used to authorize the proxy connection at security level 5 and above. For instructions on creating the Perforce Service User and printing out the ticket, see Creating the Perforce Service user .

Important
  • If a Service user is used, the long lived ticket must be a local ticket and not an all hosts ticket.

  • Security level 6 requires the Helix Server to have a valid server spec with the AllowedAddresses field set. For information about Security level 6, see Server security levels in the Helix Core Server Administrator Guide.

Perforce Service Ticket

com.perforce.p4search.core.service.p4ticket

AEEB1208CB06479B022D97C2784EEFDA

The long lived ticket to authorize the Perforce Service User. To print out a long lived ticket for the Perforce service user that is valid for all hosts, run the following command : p4 -p <p4port> -u <p4user> login -a -p

 

Perforce index user

com.perforce.p4search.core.index.p4user

p4index

Optional: A Standard user with admin access. Used to read content from the Helix Server, to set file attributes, and to install extensions. For instructions on creating the Perforce Index User and printing out the ticket, see Creating the index user (optional). If the index user is not defined, the Perforce Service user is used.

Perforce index Ticket

com.perforce.p4search.core.index.p4ticket

AEEB1208CB06479B022D97C2784EEFDA

The long lived ticket to authorize the index user. To print out a long lived ticket for the index user that is valid for all hosts, run the following command : p4 -p <p4port> -u <p4user> login -a -p

Anonymous search user

com.perforce.p4search.core.anonymous.p4user

anonymous

Optional: An Anonymous user with read access in the Helix Server for the areas of the depot you want to allow search result access to. The anonymous search user is used for the unsupported search web pages. For instructions on setting the Anonymous User and printing out the ticket, see Creating the anonymous search user (optional). If the anonymous user is not defined, anonymous access is disabled.

Anonymous search ticket

com.perforce.p4search.core.anonymous.p4ticket

empty

The long lived ticket to authorize the anonymous search user.

P4Ignore

com.perforce.p4search.core.p4ignore

empty

The P4IGNORE file name.

Indexer configuration

Configurable Configurable name in config.properties file Default Description

Perforce index

com.perforce.p4search.index.name

perforce1

Name for the ElasticSearch Helix Server index. If you are using multiple instances of Helix Search ensure that you use a different index name for each instance.

Restricted changes

com.perforce.p4search.index.restricted

true

Set to true to index restricted Helix Server changelists.

Perforce revision tags

com.perforce.p4search.index.tags

empty

For use with Helix DAM only: A comma separated list of Helix Server file revision attribute tags to index. Any tag that begins with an index tag value in the list is indexed. The index tags are not case sensitive.

For example:

com.perforce.p4search.index.tags=DAM,FOO

If DAM and FOO are index tags, Helix Search will index any tag that begins with DAM or FOO. In this example, the DAM_TAG_bar, DAM_tag_lorry, and FOO_bar tags would all be indexed but a tag called TAG_DAM would not be indexed.

Elasticsearch batch size

com.perforce.p4search.index.bulksize

1000

Maximum ElasticSearch batch size when indexing data.

Indexer thread pool size

com.perforce.p4search.index.threads

8

The number of threads Helix Search uses when indexing Helix Server changelists.

Generate thumbnail images

com.perforce.p4search.index.thumbnail

true

Set to true to generate the blur and thumbnail images when indexing is run, defaults to true.

  • Blur images are stored on the Helix Server as an attribute of the original image file and indexed in Elasticsearch. They consist of a 4 pixel image stored as a Hash String that loads extremely quickly. Helix DAM displays the blur images for search queries while the thumbnail images are loaded.

  • Thumbnails are stored on the Helix Server as an attribute of the original image files. They are up to 240 x 240 pixels depending on the original image's aspect ratio. P4V and Helix DAM use the thumbnails for image preview.

Preview image size

com.perforce.p4search.index.preview-size

1440

Preview image size in pixels. Set to 0 to disable preview generation.

Preview image type com.perforce.p4search.index.preview-ext jpg

Preview image type only supports jpg and webp image file types.

Enable Tesseract Optical Character Recognition (OCR)

com.perforce.p4search.index.tesseract Disable

Set to Enable to enable Tesseract OCR.

Important

For Windows operating system, you must install Tesseract to use Optical Character Recognition (OCR).

For more information on how to install Tesseract, see Tesseract installer for windows.

Elasticsearch configuration

Configurable Configurable name in config.properties file Default Description

Elastic search hosts

com.perforce.p4search.elastic.hosts

http://localhost:9200

A comma separated list of host addresses for ElasticSearch. For example, http://localhost:9200,http://localhost:9201

Elasticsearch username

com.perforce.p4search.elastic.user

empty

Elastic Search User for P4Search.

Elasticsearch password

com.perforce.p4search.elastic.pass

empty

Elastic Search Password for P4Search.

Permission Filter Required

com.perforce.p4search.elastic.filter

true

To filter user search results based on their Helix Server permissions (output of the p4 protect command), set to true.

This requires the installation of the Helix Server p4search-filter plugin for Elasticsearch, see the Elasticsearch plugin documentation. Use of the Helix Server p4search-filter plugin will introduce a small overhead in the query time. This is mainly determined by the number of protection entries that are applied to the user running the query. In some situations you might want to disable the filter if Helix Search only contains indexed data that is visible to all users.

Elasticsearch track total hits

com.perforce.p4search.elastic.tracktotalhits

10000

Maximum accurately counted total hit by ElasticSearch. To tune performance, set a limit to the number of results processed by a single query.

Tika configuration

Configurable Configurable name in config.properties file Default Description

Parsing timeout (ms)

com.perforce.p4search.tika.timeout

20000

Timeout when parsing a file through Tika (in milliseconds).

Max content file size

com.perforce.p4search.tika.maxfilesize

104857600

The max file size (in bytes) that Helix Search will try and index it's content to.

Image auto-tagging configuration

Tip

You might want to use a pre-trained model for DeepDetect, refer to the DeepDetect documentation for initialization. For more information about using a pre-trained model, see the Getting the pre-trained model section of the Image classifier topic.

Configurable Configurable name in config.properties file Default Description

Enable image auto-tagging

com.perforce.p4search.auto-detect.model

empty

Enable auto-tagging by specifying the detection model. Empty disables auto-image tagging.

Valid models are:

  • DeepDetectModel

  • AzureTagsModel

  • RekognitionLabelsModel

  • GoogleLabelModel

Auto-tagging host

com.perforce.p4search.auto-detect.host

empty

The host IP address for the auto-tagging service.

Auto-tagging language

com.perforce.p4search.auto-detect.lang

empty

The language you want the image tags to be generated in. See your auto-detect engine for supported languages.

Auto-tagging key

com.perforce.p4search.auto-detect.key

empty

The API key for the auto-tagging service you are using.

Auto-tagging threshold

com.perforce.p4search.auto-detect.threshold

0.1

The automatic image detection threshold as a floating point percentage. For example, 0.1=10%

Auto-tagging best image result

com.perforce.p4search.auto-detect.best

10

The automatic best image detection results limit.

Image Optical Character Recognition (OCR) configuration

Note

The auto-ocr model uses the auto-tagging host, language, and key to configure the auto-ocr service.

Configurable Configurable name in config.properties file Default Description

Enable image Optical Character Recognition (OCR)

com.perforce.p4search.auto-ocr.model

empty

Enable image Optical Character Recognition (OCR) by specifying the OCR model. Empty disables auto-OCR.

Valid models are:

  • AzureOcrModel

  • RekognitionOcrModel

  • GoogleOcrModel

Important

If Tesseract OCR is disabled or Tesseract OCR is not matched with a result then Helix Search uses the auto-OCR model specified above.

For more information about Tesseract OCR, see Indexer configuration.

Auto-tagging host

com.perforce.p4search.auto-detect.host

empty

The host IP address for the auto-tagging service.

Auto-tagging language

com.perforce.p4search.auto-detect.lang

empty

The language you want the image tags to be generated in. See your auto-detect engine for supported languages.

Auto-tagging key

com.perforce.p4search.auto-detect.key

empty

The API key for the auto-tagging service you are using.

Extension configuration

Displays all the available extensions for Helix Search. The slider indicates the state of a specific extension. For an available extension, click the slider to install or delete the extension.

For more information on managing extension endpoints, see Extension management endpoints.

Extension configuration