Recommender Configuration
In on-premise deployments, the following properties configure the Recommender microservice and are provided in the configuration file term-suggestions-recommender/etc/application.properties
.
General Configuration
Property | Data Type | Description |
---|---|---|
|
String |
The path to the |
|
String |
The location of the default |
|
String |
The location of the |
|
String |
The location of the |
|
String |
The location of the |
|
String |
The location of the |
|
String |
The location of the |
|
String |
The location of the root folder of the microservice.
Some configuration paths are defined relatively to this path.
The default value of this property can be overwritten only through environment variables, otherwise the change is ignored.
Default value: |
|
String |
The location of the |
Health
Property | Data Type | Description |
---|---|---|
|
Number |
The timeout period during which the microservice and its subcomponents need to report as running, otherwise the whole microservice becomes unhealthy and its status changes to |
Logging
Property | Data Type | Description |
---|---|---|
|
Boolean |
Enables JSON console appender. Only one console appender can be enabled at a time. |
|
Boolean |
Enables JSON file appender. Only one file appender can be enabled at a time. |
|
Boolean |
Enables plain text console appender. Only one console appender can be enabled at a time. |
|
Boolean |
Enables plain text file appender. Only one file appender can be enabled at a time. |
|
String |
A compression or archive format to which log files should be converted when they are closed.
Default value: |
|
String |
The name of the file used by the file appender.
Default value: |
|
String |
Indicates how often the current log file should be closed and a new one started.
Default value: |
|
String |
The minimum severity level starting from which logged messages are sent to the sink.
Default value: |
Retrying
Property | Data Type | Description |
---|---|---|
|
String |
Controls retrying of gRPC and graphQL communication attempts.
The property determines when retrying stops.
By default, retrying stops after 6 attempts in total, out of which 5 are retries.
Default value: |
|
String |
Controls retrying of gRPC and graphQL communication attempts.
The property determines which approach is used to stop retrying.
For more information, see the Tenacity API Reference, Stop Functions section.
Default value: |
|
String |
Controls retrying of gRPC and graphQL communication attempts.
The property is used to calculate the duration of waiting periods between retries.
For more information about how waiting periods between unsuccessful attempts are managed, see the Tenacity API Reference, Wait Functions section.
Default value: |
|
String |
Controls retrying of gRPC and graphQL communication attempts.
The property determines which approach is used when waiting.
For more information about how waiting periods between unsuccessful attempts are managed, see the Tenacity API Reference, Wait Functions section.
Default value: |
On-Start Behavior
Property | Data Type | Description |
---|---|---|
|
Number |
Sets for how many seconds the microservice waits after requesting health information about its dependencies, for example, when the Recommender waits for the Neighbors or the Autocomplete waits for MMM.
For more information, see the Requests Developer Interface Documentation, section about the |
|
String |
Defines the behavior of the microservice while it waits on a dependency before starting.
Keyword arguments (kwargs) are the arguments used to construct an instance of the specified wait type.
In this case, the keyword argument sets the duration of waiting intervals.
Default value: |
|
String |
Defines the behavior of the microservice while it waits on a dependency before starting.
Currently, the microservice either waits to receive information about the health of the dependency or the database readiness (typically, this means waiting for the database to start and for MMM to create the tables needed).
The property defines how waiting periods are managed between unsuccessful attempts to verify the readiness of the dependency.
For a list of other available wait types, see the Tenacity API Reference, Wait Functions section.
Default value: |
gRPC Client
Property |
Data Type |
Description |
|
String |
Limits the size of messages that the gRPC client can process.
Default value: |
Authentication
Property | Data Type | Description |
---|---|---|
|
String |
The private key of the microservice used to generate tokens for internal JWT authentication. |
|
Number |
Defines the amount of time after which the token generated by the internal JWT generator expires.
Expressed in seconds.
Default value: |
TLS/mTLS
Property | Data Type | Description |
---|---|---|
|
String |
All client TLS options can be specified per connection.
To set any TLS option for a specific client connection, configure the same set of properties as for the global client TLS configuration (properties with the
|
|
String |
All client TLS options can be specified directly for gRPC client.
To set any TLS option for a gRPC client, configure the same set of properties as for the global client TLS configuration (properties with the |
|
String |
All client TLS options can be specified directly for HTTP client.
To set any TLS option for a HTTP client, configure the same set of properties as for the global client TLS configuration (properties with the |
|
Boolean |
Defines whether the gRPC and HTTP clients should use TLS when communicating with the servers.
Default value: |
|
String |
The private key name specified in the provided keystore that is used for TLS.
Does not work with |
|
String |
The password for the private key of the gRPC and HTTP clients.
Used if the private key is encrypted.
Does not work with |
|
String |
Points to the keystore containing private and public key certificates that are used by the gRPC and HTTP clients.
For example, |
|
String |
The password for the keystore.
Used if the keystore is encrypted.
Default value: |
|
String |
The type of the keystore.
Possible types are |
|
Boolean |
Defines whether the gRPC and HTTP clients should use mTLS when communicating with the servers.
Default value: |
|
Boolean |
Defines whether the gRPC and HTTP clients should verify the certificate of the server with which they communicate.
Default value: |
|
String |
Points to the truststore with all the trusted certification authorities (CAs) used in gRPC and HTTP TLS communication.
Used only when |
|
String |
The password for the truststore.
Used if the truststore is encrypted.
Default value: |
|
String |
The type of the truststore.
Possible types are |
gRPC Server
Property |
Data Type |
Description |
|
String |
Limits the size of messages that the gRPC server can process.
Default value: |
Authentication
Property | Data Type | Description |
---|---|---|
|
Boolean |
Enables basic authentication on the gRPC server.
If enabled, Keycloak becomes a mandatory dependency - it needs to be running before the microservice starts.
Default value: |
|
Boolean |
Enables bearer authentication on the gRPC server.
If enabled, Keycloak becomes a mandatory dependency - it needs to be running before the microservice starts.
Default value: |
|
Boolean |
Enables internal JWT token authentication on the gRPC server.
Default value: |
|
Boolean |
If set to |
|
String |
Used for securing HTTP endpoints based on user or module roles.
The role comparison is case-insensitive.
For example, to allow only users with
Default value: |
|
Boolean |
Enables basic authentication on the HTTP server.
If enabled, Keycloak becomes a mandatory dependency - it needs to be running before the microservice starts.
Default value: |
|
String |
Ant-style patterns that filter which HTTP endpoints have basic authentication enabled.
To separate multiple patterns, use a semicolon ( |
|
Boolean |
Enables bearer authentication on the HTTP server.
If enabled, Keycloak becomes a mandatory dependency - it needs to be running before the microservice starts.
Default value: |
|
String |
Ant-style patterns that filter which HTTP endpoints have bearer authentication enabled.
To separate multiple patterns, use a semicolon ( |
|
Boolean |
Enables internal JWT token authentication on the HTTP server.
Default value: |
|
String |
Ant-style patterns that filter which HTTP endpoints have internal JWT authentication enabled.
To separate multiple patterns, use a semicolon ( |
|
String |
Ant-style patterns that filter which public HTTP endpoints should be protected.
If configured, these endpoints are no longer publicly available and authentication is required.
To separate multiple patterns, use a semicolon ( |
|
String |
The role used for validating that a service sending a request to the microservice can impersonate another user.
Default value: |
|
String |
The name of the Keycloak realm. Used when requesting an access token during authorization. |
|
String |
The URL of the server where Keycloak is running. |
|
String |
The expected recipients of the Keycloak token.
Used to validate the access (bearer) token obtained from Keycloak.
If the value is |
|
String |
The client token identifier of the microservice. Used when requesting an access token during authorization. |
|
String |
The expected algorithm that was used to sign the access (bearer) token obtained from Keycloak.
Default value: |
|
String |
The issuer of the Keycloak token.
Used to validate the access (bearer) token obtained from Keycloak.
If the value is |
|
Number |
Defines the minimum amount of time between two consecutive requests for Keycloak certificates during which Keycloak is not asked for new certificates.
This acts as a prevention against DDoS attacks with an unknown key.
Expressed in seconds.
Default value: |
|
Number |
Defines how long the public certificates from Keycloak are cached on the microservice side.
If this time is exceeded, new certificates are fetched from Keycloak before the microservice makes an attempt to authenticate.
If this time is not exceeded, but the public certificate for the key parsed from the authentication attempt was not found in the cache, new certificates are fetched from Keycloak and authentication is attempted again.
Expressed in seconds.
Default value: |
|
String |
The secret key of the microservice client. Used when requesting an access token during authorization. |
|
String |
The deployment settings with public JWT keys for other modules communicating with the microservice. The following fields are available:
Default value: |
TLS/mTLS
Property | Data Type | Description |
---|---|---|
|
String |
All server TLS options can be specified directly for gRPC server.
To set any TLS option for a gRPC server, configure the same set of properties as for the global server TLS configuration (properties with the |
|
String |
All server TLS options can be specified directly for HTTP server.
To set any TLS option for an HTTP server, configure the same set of properties as for the global server TLS configuration (properties with the |
|
Boolean |
Defines whether the gRPC and HTTP servers should generate their self-signed certificate.
The private key is saved to a location specified by |
|
String |
The path to the generated certificate of the gRPC and HTTP servers.
For example, |
|
Boolean |
Defines whether the gRPC and HTTP servers should use TLS authentication.
Default value: |
|
String |
The private key name specified in the provided keystore that is used for TLS.
Does not work with |
|
String |
The password for the private key of the gRPC and HTTP servers.
Used if the private key is encrypted.
Does not work with |
|
String |
Points to the keystore containing private and public key certificates that are used by the gRPC and HTTP servers.
For example, |
|
String |
The password for the keystore.
Used if the keystore is encrypted.
Default value: |
|
String |
The type of the keystore.
Possible types are |
|
String |
Defines whether the gRPC and HTTP servers require clients to be authenticated.
Possible values are |
|
String |
The path to the generated private key of the gRPC and HTTP servers.
For example, |
|
String |
Points to the truststore with all the trusted certification authorities (CAs) used in the gRPC and HTTP TLS communication.
For example, |
|
String |
The password for the truststore.
Used if the truststore is encrypted.
Default value: |
|
String |
The type of the truststore.
Possible types are |
Security Headers
Property | Data Type | Description |
---|---|---|
|
String |
The value of the HTTP Strict-Transport-Security (HSTS) response header.
Used only when HTTPS is enabled.
Informs browsers that the resource should only be accessed using the HTTPS protocol.
Default value: |
Parallelism
Property | Data Type | Description |
---|---|---|
|
Number |
An alternative way of overriding the number of parallel threads spawned by low-level calculations that are used by machine learning algorithms.
If the value is set to |
|
Number |
The number of parallel threads or processes spawned by high-level machine learning algorithms with explicit job management.
If the value is set to |
|
Number |
The number of parallel threads spawned by low-level calculations that are used by high-level machine learning algorithms.
If the value is set to |
|
Number |
An alternative way of setting the number of parallel threads spawned by low-level calculations that are used by machine learning algorithms.
If the value is set to |
Internal and Properties Encryption
Property | Data Type | Description |
---|---|---|
|
String |
Points to the keystore containing the symmetric key that is used to decrypt properties with |
|
String |
The password for the keystore.
Used if the keystore is encrypted.
To use an empty password, set the value to an empty string ( |
|
String |
The single-line file containing the password for the keystore.
When reading the file, UTF-8 encoding is assumed.
Used if the keystore is encrypted.
If specified, the property overrides the value of |
|
String |
The type of the keystore.
Possible types are |
|
String |
Points to the keystore containing the symmetric key that is used to decrypt properties with |
|
String |
The password for the keystore.
Used if the keystore is encrypted.
To use an empty password, set the value to an empty string ( |
|
String |
The single-line file containing the password for the keystore.
When reading the file, UTF-8 encoding is assumed.
Used if the keystore is encrypted.
If specified, the property overrides the value of |
|
String |
The type of the keystore.
Possible types are |
Term Suggestions Database
|
String |
The host where the microservice database is available. |
|
String |
The password for the microservice database. |
|
String |
The username for the microservice database. |
|
String |
Sets the SQLAlchemy engine options, such as the maximum length of identifiers used in the database.
For more information, see the Engine Configuration, section Engine Creation API, Parameters.
Default value: |
|
Number |
Defines how often the microservice polls the database for changes.
Expressed in seconds.
Default value: |
Term Suggestions AI Parameters
Property | Data Type | Description |
---|---|---|
|
Number |
The target ratio of term suggestions that users approved to the total number of suggestions, both approved and rejected, that the Recommender is trying to achieve.
This is done by slowly adapting the similarity threshold for each term over time.
Default value: |
|
Number |
The default starting distance threshold for newly created terms.
The distance threshold defines how close the fingerprints need to be so that, if one of them has some terms assigned, the Recommender suggests those terms to the other one as well.
It also affects the confidence of suggestions.
Default value: |
Recommender
Property | Data Type | Description |
---|---|---|
|
Number |
The gRPC port of the server where the Neighbors microservice is running.
Default value: |
|
String |
The IP address or the URL of the server where the Neighbors microservice is running.
Default value: |
|
Number |
The HTTP port of the server where the Neighbors microservice is running.
Default value: |
|
Number |
The number of attributes for which term suggestions are recomputed at once by the Recommender service.
If the batch size is too small, the database is queried too often and the computation is inefficient.
If the batch size is too large, the process can take a long time, which in turn can render the Recommender unresponsive for the duration of the request and require more memory resources.
Default value: |
|
String |
The network address to which the Recommender HTTP server should bind.
Default value: |
|
Number |
The HTTP port where the Recommender microservice is running.
Default value: |
|
Number |
Sets the highest possible value for the similarity threshold (see the |
Command Line Tools
Property | Data Type | Description |
---|---|---|
|
String |
The IP address or the URL of the server where the CLI microservice is running.
Default value: |
|
Number |
The HTTP port of the server where the CLI microservice is running.
Default value: |
|
String |
The network address to which the CLI HTTP server should bind.
Default value: |
|
Number |
The HTTP port where the CLI microservice is running.
Default value: |
Was this page useful?