Skip to main content
Version: 7.2405.x.x LTS

Configuration of the query service and quick search

The table lists all parameters in the nevisidm-prod.properties configuration file that control the query service / quick search:

Parameter nameType / DefaultDescription
application.
queryservice.
cronjob.enabled
boolean default: falseEnables/disables a cron job which periodically updates the indexes for the Apache Lucene search backend. Configure this parameter only in a clustered setup where multiple nevisIDM instances are used with a shared database. For the Elasticsearch backend, this setting need to be left as false.
application.
queryservice.
cronjob.interval
long default: 300000Configures the interval (in milliseconds) between two runs of the cron job, which updates the indexes. Configure only if the cron job is enabled.
application.
queryservice.
enabled
boolean default: falseEnables/disables the query service. The query service is disabled per default.
application.
queryservice.
index.dir
string default: "/tmp/lucene/indexes"The location where the indexes, generated by the Apache Lucene engine, will be stored. Per default, the indexes will be stored in the "/tmp/lucene/indexes" folder.
application.
queryservice.
forcedreindex.
enabled
boolean Default: trueDetermines whether the indexes are recreated on startup. If is is true, the indexes will be recreated, even if they already exist. We recommend setting this parameter to "true" to avoid data inconsistencies.
application.
queryservice.
index.length.min
int default: 3The length of the shortest indexed fragment. Note that this is the same as the shortest possible search.
web.gui.
quicksearch.
fields
string default: ""Defines a comma-separated list of field names. The list must only include field names of entities that support the quick search. If set, the quick search feature only performs searches on these fields. If you do not specify this parameter, the system queries all fields of the entities supporting the quick search. Invalid field names are silently ignored (that is, no error message will appear).
Note that this parameter is only valid for the quick search feature. The query service (Query Search REST service) is not affected by this setting.
application.
queryservice.
backend.type
string default: "lucene"Two search backends are supported: Apache Lucene and Elasticsearch. Possible values: "lucene" and "elasticsearch". In multi IDM environments, Elasticsearch is recommended.
application.
queryservice.
elastic.hosts
string default: "localhost:9200"The host name and ports of the Elasticsearch servers to connect to. Expects a String representing a host and port such as localhost or es.mycompany.com:4400, or a String containing multiple such host-port strings, separated by commas.
application.
queryservice.
elastic.protocol
string default: "http"The protocol to use when connecting to the Elasticsearch servers. Expects either "http" or "https".
application.
queryservice.
elastic.path.prefix
string default: ""Property for specifying the path prefix prepended to the request Elasticsearch end point. Use the path prefix if your Elasticsearch instance is located at a specific context path.
application.
queryservice.
elastic.username
stringThe username to send when connecting to the Elasticsearch servers (HTTP authentication).
application.
queryservice.
elastic.password
stringThe password to send when connecting to the Elasticsearch servers (HTTP authentication).
application.
queryservice.
elastic.request.timeout
intdefault: 3600000 (1 hour)The timeout when executing a request to an Elasticsearch server. This includes the time needed to establish a connection, send the request and read the response. Expects a positive integer value in milliseconds.
application.
queryservice.
elastic.read.timeout
intdefault: 30000The timeout when reading responses from an Elasticsearch server. Expects a positive integer value in milliseconds.
application.
queryservice.
elastic.connection.timeout
intdefault: 1000The timeout when establishing a connection to an Elasticsearch server. Expects a positive integer value in milliseconds.
application.
queryservice.
elastic.max.connections
intdefault: 20The maximum number of simultaneous connections to the Elasticsearch cluster, all hosts taken together. Expects a positive integer value.
application.
queryservice.
elastic.max.connections.
per.route
intdefault: 10The maximum number of simultaneous connections to each host of the Elasticsearch cluster. Expects a positive integer value.
application.
queryservice.
elastic.discovery.
enabled
boolean default: falseWhether automatic discovery of nodes in the Elasticsearch cluster is enabled.
application.
queryservice.
elastic.discovery.
refresh.interval
intdefault: 10The time interval between two executions of the automatic discovery, if enabled. Expects a positive integer value in seconds.
application.
queryservice.
elastic.log.json.
pretty.printing
boolean default: falseWhether JSON included in logs should be pretty-printed: indented, with line breaks.
application.
queryservice.
elastic.multi.tenancy.
strategy
string default: "none"The multi-tenancy strategy to use. Expects a MultiTenancyStrategyName value.
application.
queryservice.
elastic.mapping.
type.name.strategy
string default: "discriminator"The strategy for mapping documents to their type name, that is to determine the type name of a document in search hits.
application.
queryservice.
elastic.layout.strategy
string default: "simple"The layout strategy for indexes and their aliases. Expects a reference to a bean of type IndexLayoutStrategy.
application.
queryservice.
elastic.thread.pool.size
intdefault: number of processor cores available to the JVM on startupThe size of the thread pool assigned to the backend. Expects a strictly positive integer value.
application.
queryservice.
elastic.scroll.timeout
intdefault: 60Property for specifying the maximum duration a Scroll will be usable if no other results are fetched from Elasticsearch. Expects a positive integer value in seconds.