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 name | Type / Default | Description |
---|---|---|
application. queryservice. cronjob.enabled | boolean default: false | Enables/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: 300000 | Configures 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: false | Enables/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: true | Determines 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: 3 | The 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 | string | The username to send when connecting to the Elasticsearch servers (HTTP authentication). |
application. queryservice. elastic.password | string | The 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: 30000 | The timeout when reading responses from an Elasticsearch server. Expects a positive integer value in milliseconds. |
application. queryservice. elastic.connection.timeout | intdefault: 1000 | The timeout when establishing a connection to an Elasticsearch server. Expects a positive integer value in milliseconds. |
application. queryservice. elastic.max.connections | intdefault: 20 | The 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: 10 | The maximum number of simultaneous connections to each host of the Elasticsearch cluster. Expects a positive integer value. |
application. queryservice. elastic.discovery. enabled | boolean default: false | Whether automatic discovery of nodes in the Elasticsearch cluster is enabled. |
application. queryservice. elastic.discovery. refresh.interval | intdefault: 10 | The 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: false | Whether 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 startup | The size of the thread pool assigned to the backend. Expects a strictly positive integer value. |
application. queryservice. elastic.scroll.timeout | intdefault: 60 | Property 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. |