OpenSearch - Advanced parameters references
This guide lists all the supported advanced parameters that allow you to configure your Public Cloud Databases for OpenSearch according to your use cases
Objective
This guide lists all the supported advanced parameters that allow you to configure your Public Cloud Databases for OpenSearch according to your use cases.
Requirements
- A Public Cloud project in your OVHcloud account
- An OpenSearch service running on your OVHcloud Public Cloud project (the Getting started with Analytics guide can help you to meet this requirement)
Instructions
Advanced parameters can also be managed with Terraform, through the advanced_configuration argument (key/value pairs) of the ovh_cloud_project_database resource.
Changing the advanced configuration may cause the service to restart.
Using the OVHcloud Control Panel
Please refer to the Configure the advanced parameters for Analytics guide to find out how to change your advanced parameters from the OVHcloud Control Panel.
Using API
Please refer to the Configure the advanced parameters for Analytics guide to find out how to change your advanced parameters from the OVHcloud API.
Advanced parameters for OpenSearch
Below is a summary of every configuration option available for an OpenSearch service. This list was retrieved from the following API call, which returns the exact list of parameters, with their allowed values, for your own service:
| Parameters |
|---|
keep_index_refresh_interval booleanThe service automation resets index.refresh_interval to its default value for every index, to make sure that indexes are always visible to search. If this does not fit your use case, you can disable this behaviour by setting this flag to true. |
opensearch.action_auto_create_index_enabled booleanExplicitly allow or block automatic creation of indices. Defaults to true. |
opensearch.action_destructive_requires_name booleanRequire explicit index names when deleting. |
opensearch.auth_failure_listeners.internal_authentication_backend_limiting.allowed_tries longmin: 1 max: 32767The number of login attempts allowed before login is blocked. |
opensearch.auth_failure_listeners.internal_authentication_backend_limiting.authentication_backend stringvalues: internalThe internal backend. Enter internal. |
opensearch.auth_failure_listeners.internal_authentication_backend_limiting.block_expiry_seconds longmin: 0 max: 2147483647The duration of time that login remains blocked after a failed login. |
opensearch.auth_failure_listeners.internal_authentication_backend_limiting.max_blocked_clients longmin: 0 max: 2147483647The maximum number of blocked IP addresses. |
opensearch.auth_failure_listeners.internal_authentication_backend_limiting.max_tracked_clients longmin: 0 max: 2147483647The maximum number of tracked IP addresses that have failed login. |
opensearch.auth_failure_listeners.internal_authentication_backend_limiting.time_window_seconds longmin: 0 max: 2147483647The window of time in which the value for allowed_tries is enforced. |
opensearch.auth_failure_listeners.internal_authentication_backend_limiting.type stringvalues: usernameThe type of rate limiting. |
opensearch.cluster.filecache.remote_data_ratio longmin: 0 max: 100Defines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache. This is designed to be a safeguard to prevent oversubscribing a cluster. Defaults to 0. |
opensearch.cluster.remote_store.state.global_metadata.upload_timeout stringThe amount of time to wait for the cluster state upload to complete. Defaults to 20s. |
opensearch.cluster.remote_store.state.metadata_manifest.upload_timeout stringThe amount of time to wait for the manifest file upload to complete. The manifest file contains the details of each of the files uploaded for a single cluster state, both index metadata files and global metadata files. Defaults to 20s. |
opensearch.cluster.remote_store.translog.buffer_interval stringThe default value of the translog buffer interval used when performing periodic translog updates. This setting is only effective when the index setting index.remote_store.translog.buffer_interval is not present. Defaults to 650ms. |
opensearch.cluster.remote_store.translog.max_readers longmin: 100 max: 2147483647Sets the maximum number of open translog files for remote-backed indexes. This limits the total number of translog files per shard. After reaching this limit, the remote store flushes the translog files. Default is 1000. The minimum required is 100. |
opensearch.cluster.routing.allocation.balance.prefer_primary booleanWhen set to true, OpenSearch attempts to evenly distribute the primary shards between the cluster nodes. Enabling this setting does not always guarantee an equal number of primary shards on each node, especially in the event of a failover. Changing this setting to false after it was set to true does not invoke redistribution of primary shards. Default is false. |
opensearch.cluster.search.request.slowlog.level stringvalues: debug, info, trace, warndefault: traceLog level. |
opensearch.cluster.search.request.slowlog.threshold.debug stringDebug threshold for total request took time. The value should be in the form count and unit, where unit is one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1. |
opensearch.cluster.search.request.slowlog.threshold.info stringInfo threshold for total request took time. The value should be in the form count and unit, where unit is one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1. |
opensearch.cluster.search.request.slowlog.threshold.trace stringTrace threshold for total request took time. The value should be in the form count and unit, where unit is one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1. |
opensearch.cluster.search.request.slowlog.threshold.warn stringWarning threshold for total request took time. The value should be in the form count and unit, where unit is one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1. |
opensearch.cluster_max_shards_per_node longmin: 10 max: 10000Controls the number of shards allowed in the cluster per data node. |
opensearch.cluster_routing_allocation_node_concurrent_recoveries longmin: 2 max: 16How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node CPU count * 2. |
opensearch.disk_watermarks.flood_stage longThe flood stage watermark for disk usage. |
opensearch.disk_watermarks.high longThe high watermark for disk usage. |
opensearch.disk_watermarks.low longThe low watermark for disk usage. |
opensearch.email_sender_name stringThis should be identical to the Sender name defined in OpenSearch Dashboards. |
opensearch.email_sender_password stringSender password for OpenSearch alerts to authenticate with SMTP server. |
opensearch.email_sender_username stringSender username for OpenSearch alerts. |
opensearch.enable_remote_backed_storage booleanEnable remote-backed storage. |
opensearch.enable_searchable_snapshots booleanEnable searchable snapshots. |
opensearch.enable_security_audit booleanEnable/Disable security audit. |
opensearch.enable_snapshot_api booleanEnable/Disable snapshot API for custom repositories, this requires security management to be enabled. Not available: security management cannot be enabled. |
opensearch.http_max_content_length longmin: 1048576 max: 2147483647Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes. |
opensearch.http_max_header_size longmin: 1024 max: 262144The max size of allowed headers, in bytes. |
opensearch.http_max_initial_line_length longmin: 1024 max: 65536The max length of an HTTP URL, in bytes. |
opensearch.indices_fielddata_cache_size longmin: 3 max: 100Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase the overhead of loading field data; too much memory used for field data cache will decrease the amount of heap available for other operations. |
opensearch.indices_memory_index_buffer_size longmin: 3 max: 40Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. A value that is too low will slow down indexing; a value that is too high will increase indexing performance but cause query performance issues. |
opensearch.indices_memory_max_index_buffer_size longmin: 3 max: 2048Absolute value. Default is unbound. Doesn't work without indices.memory.index_buffer_size. Maximum amount of heap used for query cache, an absolute indices.memory.index_buffer_size maximum hard limit. |
opensearch.indices_memory_min_index_buffer_size longmin: 3 max: 2048Absolute value. Default is 48mb. Doesn't work without indices.memory.index_buffer_size. Minimum amount of heap used for query cache, an absolute indices.memory.index_buffer_size minimal hard limit. |
opensearch.indices_queries_cache_size longmin: 3 max: 40Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. A value that is too low will decrease query performance and increase performance for other operations; a value that is too high will cause issues with other OpenSearch functionality. |
opensearch.indices_query_bool_max_clause_count longmin: 64 max: 4096Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value. |
opensearch.indices_recovery_max_bytes_per_sec longmin: 40 max: 400Limits total inbound and outbound recovery traffic for each node. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). Defaults to 40mb. |
opensearch.indices_recovery_max_concurrent_file_chunks longmin: 2 max: 5Number of file chunks sent in parallel for each recovery. Defaults to 2. |
opensearch.ism_enabled booleanSpecifies whether ISM is enabled or not. |
opensearch.ism_history_enabled booleanSpecifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document. |
opensearch.ism_history_max_age longmin: 1 max: 2147483647The maximum age before rolling over the audit history index in hours. |
opensearch.ism_history_max_docs longmin: 1 max: 9223372036854775807The maximum number of documents before rolling over the audit history index. |
opensearch.ism_history_rollover_check_period longmin: 1 max: 2147483647The time between rollover checks for the audit history index in hours. |
opensearch.ism_history_rollover_retention_period longmin: 1 max: 2147483647How long audit history indices are kept in days. |
opensearch.knn_memory_circuit_breaker_enabled booleanEnable or disable KNN memory circuit breaker. Defaults to true. |
opensearch.knn_memory_circuit_breaker_limit longmin: 0 max: 100Maximum amount of memory in percentage that can be used for the KNN index. Defaults to 50% of the JVM heap size. 0 is used to set it to null which can be used to invalidate caches. |
opensearch.ml_commons_connector_access_control_enabled booleanWhen set to true, the setting allows admins to control access and permissions to the connector API using backend_roles. Defaults to false. |
opensearch.ml_commons_max_model_on_node longmin: 1Maximum number of ML models that can be deployed on a single ML node. Defaults to 10. |
opensearch.ml_commons_model_access_control_enabled booleanEnable or disable model access control for ML Commons. When enabled, access to ML models is controlled by security permissions. Defaults to false. |
opensearch.ml_commons_model_auto_deploy_enable booleanFor externally hosted models only: automatically deploy a model on its first predict request instead of requiring an explicit deploy call first. Defaults to true. |
opensearch.ml_commons_model_auto_redeploy_enable booleanAutomatically redeploy deployed or partially deployed models after ML nodes rejoin the cluster, e.g. after a node replacement. Defaults to true. |
opensearch.ml_commons_native_memory_threshold longmin: 1 max: 100Native memory threshold percentage for ML Commons. Controls the maximum percentage of native memory that can be used by ML Commons operations. Defaults to 90%. |
opensearch.ml_commons_only_run_on_ml_node booleanEnable or disable running ML Commons tasks only on ML nodes. When enabled, ML tasks will only execute on nodes designated as ML nodes. Defaults to true. |
opensearch.node.search.cache.size stringDefines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache. This is designed to be a safeguard to prevent oversubscribing a cluster. Defaults to 5gb. Requires restarting all OpenSearch nodes. |
opensearch.override_main_response_version booleanCompatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. Default is false. Deprecated and ignored for service version 3.3 and higher. |
opensearch.plugins_alerting_filter_by_backend_roles booleanEnable or disable filtering of alerting by backend roles. Requires Security plugin. Defaults to false. |
opensearch.remote_store.segment.pressure.bytes_lag.variance_factor doublemin: 1The variance factor that is used together with the moving average to calculate the dynamic bytes lag threshold for activating remote segment backpressure. Defaults to 10. |
opensearch.remote_store.segment.pressure.consecutive_failures.limit longmin: 1 max: 2147483647The minimum consecutive failure count for activating remote segment backpressure. Defaults to 5. |
opensearch.remote_store.segment.pressure.enabled booleanEnables remote segment backpressure. Default is true. |
opensearch.remote_store.segment.pressure.time_lag.variance_factor doublemin: 1The variance factor that is used together with the moving average to calculate the dynamic time lag threshold for activating remote segment backpressure. Defaults to 10. |
opensearch.script_max_compilations_rate stringScript compilation circuit breaker limits the number of inline script compilations within a period of time. Default is use-context. |
opensearch.search.insights.top_queries.cpu.enabled booleandefault: falseEnable or disable top N query monitoring by the metric. |
opensearch.search.insights.top_queries.cpu.top_n_size longmin: 1Specify the value of N for the top N queries by the metric. |
opensearch.search.insights.top_queries.cpu.window_size stringConfigure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h. |
opensearch.search.insights.top_queries.latency.enabled booleandefault: falseEnable or disable top N query monitoring by the metric. |
opensearch.search.insights.top_queries.latency.top_n_size longmin: 1Specify the value of N for the top N queries by the metric. |
opensearch.search.insights.top_queries.latency.window_size stringConfigure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h. |
opensearch.search.insights.top_queries.memory.enabled booleandefault: falseEnable or disable top N query monitoring by the metric. |
opensearch.search.insights.top_queries.memory.top_n_size longmin: 1Specify the value of N for the top N queries by the metric. |
opensearch.search.insights.top_queries.memory.window_size stringConfigure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h. |
opensearch.search_backpressure.mode stringvalues: disabled, enforced, monitor_onlyThe search backpressure mode. Valid values are monitor_only, enforced, or disabled. Default is monitor_only. |
opensearch.search_backpressure.node_duress.cpu_threshold doublemin: 0 max: 1The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.9. |
opensearch.search_backpressure.node_duress.heap_threshold doublemin: 0 max: 1The heap usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.7. |
opensearch.search_backpressure.node_duress.num_successive_breaches longmin: 1The number of successive limit breaches after which the node is considered to be under duress. Default is 3. |
opensearch.search_backpressure.search_shard_task.cancellation_burst doublemin: 1The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 10.0. |
opensearch.search_backpressure.search_shard_task.cancellation_rate doublemin: 0The maximum number of tasks to cancel per millisecond of elapsed time. Default is 0.003. |
opensearch.search_backpressure.search_shard_task.cancellation_ratio doublemin: 0 max: 1The maximum number of tasks to cancel, as a percentage of successful task completions. Default is 0.1. |
opensearch.search_backpressure.search_shard_task.cpu_time_millis_threshold longmin: 0The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 15000. |
opensearch.search_backpressure.search_shard_task.elapsed_time_millis_threshold longmin: 0The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 30000. |
opensearch.search_backpressure.search_shard_task.heap_moving_average_window_size longmin: 0The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. Default is 100. |
opensearch.search_backpressure.search_shard_task.heap_percent_threshold doublemin: 0 max: 1The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. Default is 0.5. |
opensearch.search_backpressure.search_shard_task.heap_variance doublemin: 0The minimum variance required for a single search shard task's heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. Default is 2.0. |
opensearch.search_backpressure.search_shard_task.total_heap_percent_threshold doublemin: 0 max: 1The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. Default is 0.5. |
opensearch.search_backpressure.search_task.cancellation_burst doublemin: 1The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 5.0. |
opensearch.search_backpressure.search_task.cancellation_rate doublemin: 0The maximum number of search tasks to cancel per millisecond of elapsed time. Default is 0.003. |
opensearch.search_backpressure.search_task.cancellation_ratio doublemin: 0 max: 1The maximum number of search tasks to cancel, as a percentage of successful search task completions. Default is 0.1. |
opensearch.search_backpressure.search_task.cpu_time_millis_threshold longmin: 0The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 30000. |
opensearch.search_backpressure.search_task.elapsed_time_millis_threshold longmin: 0The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 45000. |
opensearch.search_backpressure.search_task.heap_moving_average_window_size longmin: 0The window size used to calculate the rolling average of the heap usage for the completed parent tasks. Default is 10. |
opensearch.search_backpressure.search_task.heap_percent_threshold doublemin: 0 max: 1The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. Default is 0.2. |
opensearch.search_backpressure.search_task.heap_variance doublemin: 0The heap usage variance required for an individual parent task before it is considered for cancellation. A task is considered for cancellation when taskHeapUsage is greater than or equal to heapUsageMovingAverage * variance. Default is 2.0. |
opensearch.search_backpressure.search_task.total_heap_percent_threshold doublemin: 0 max: 1The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. Default is 0.5. |
opensearch.search_max_buckets longmin: 1 max: 1000000Maximum number of aggregation buckets allowed in a single response. OpenSearch default value is used when this is not defined. |
opensearch.segrep.pressure.checkpoint.limit longmin: 0default: 4The maximum number of indexing checkpoints that a replica shard can fall behind when copying from primary. Once segrep.pressure.checkpoint.limit is breached along with segrep.pressure.time.limit, the segment replication backpressure mechanism is initiated. Default is 4 checkpoints. |
opensearch.segrep.pressure.enabled booleandefault: falseEnables the segment replication backpressure mechanism. Default is false. |
opensearch.segrep.pressure.replica.stale.limit doublemin: 0 max: 1default: 0.5The maximum number of stale replica shards that can exist in a replication group. Once segrep.pressure.replica.stale.limit is breached, the segment replication backpressure mechanism is initiated. Default is .5, which is 50% of a replication group. |
opensearch.segrep.pressure.time.limit stringdefault: 5mThe maximum amount of time that a replica shard can take to copy from the primary shard. Once segrep.pressure.time.limit is breached along with segrep.pressure.checkpoint.limit, the segment replication backpressure mechanism is initiated. Default is 5 minutes. |
opensearch.shard_indexing_pressure.enabled booleanEnable or disable shard indexing backpressure. Default is false. |
opensearch.shard_indexing_pressure.enforced booleanRun shard indexing backpressure in shadow mode or enforced mode. In shadow mode (value set as false), shard indexing backpressure tracks all granular-level metrics, but it doesn't actually reject any indexing requests. In enforced mode (value set as true), shard indexing backpressure rejects any requests to the cluster that might cause a dip in its performance. Default is false. |
opensearch.shard_indexing_pressure.operating_factor.lower doublemin: 0Specify the lower occupancy limit of the allocated quota of memory for the shard. If the total memory usage of a shard is below this limit, shard indexing backpressure decreases the current allocated memory for that shard. Default is 0.75. |
opensearch.shard_indexing_pressure.operating_factor.optimal doublemin: 0Specify the optimal occupancy of the allocated quota of memory for the shard. If the total memory usage of a shard is at this level, shard indexing backpressure doesn't change the current allocated memory for that shard. Default is 0.85. |
opensearch.shard_indexing_pressure.operating_factor.upper doublemin: 0Specify the upper occupancy limit of the allocated quota of memory for the shard. If the total memory usage of a shard is above this limit, shard indexing backpressure increases the current allocated memory for that shard. Default is 0.95. |
opensearch.shard_indexing_pressure.primary_parameter.node.soft_limit doublemin: 0Define the percentage of the node-level memory threshold that acts as a soft indicator for strain on a node. Default is 0.7. |
opensearch.shard_indexing_pressure.primary_parameter.shard.min_limit doublemin: 0Specify the minimum assigned quota for a new shard in any role (coordinator, primary, or replica). Shard indexing backpressure increases or decreases this allocated quota based on the inflow of traffic for the shard. Default is 0.001. |
opensearch.thread_pool_analyze_queue_size longmin: 10 max: 2000Size for the thread pool queue. See documentation for exact details. |
opensearch.thread_pool_analyze_size longmin: 1 max: 128Size for the thread pool. See documentation for exact details. Note that this may have a maximum value depending on the CPU count: the value is automatically lowered if set higher than the maximum value. |
opensearch.thread_pool_force_merge_size longmin: 1 max: 128Size for the thread pool. See documentation for exact details. Note that this may have a maximum value depending on the CPU count: the value is automatically lowered if set higher than the maximum value. |
opensearch.thread_pool_get_queue_size longmin: 10 max: 2000Size for the thread pool queue. See documentation for exact details. |
opensearch.thread_pool_get_size longmin: 1 max: 128Size for the thread pool. See documentation for exact details. Note that this may have a maximum value depending on the CPU count: the value is automatically lowered if set higher than the maximum value. |
opensearch.thread_pool_search_queue_size longmin: 10 max: 2000Size for the thread pool queue. See documentation for exact details. |
opensearch.thread_pool_search_size longmin: 1 max: 128Size for the thread pool. See documentation for exact details. Note that this may have a maximum value depending on the CPU count: the value is automatically lowered if set higher than the maximum value. |
opensearch.thread_pool_search_throttled_queue_size longmin: 10 max: 2000Size for the thread pool queue. See documentation for exact details. |
opensearch.thread_pool_search_throttled_size longmin: 1 max: 128Size for the thread pool. See documentation for exact details. Note that this may have a maximum value depending on the CPU count: the value is automatically lowered if set higher than the maximum value. |
opensearch.thread_pool_write_queue_size longmin: 10 max: 2000Size for the thread pool queue. See documentation for exact details. |
opensearch.thread_pool_write_size longmin: 1 max: 128Size for the thread pool. See documentation for exact details. Note that this may have a maximum value depending on the CPU count: the value is automatically lowered if set higher than the maximum value. |
Advanced parameters for OpenSearch Dashboards
| Parameters |
|---|
opensearch_dashboards.enabled booleandefault: trueEnable or disable OpenSearch Dashboards. |
opensearch_dashboards.max_old_space_size longmin: 64 max: 4096default: 128Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the Node.js process running OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch. |
opensearch_dashboards.multiple_data_source_enabled booleandefault: trueEnable or disable multiple data sources in OpenSearch Dashboards. |
opensearch_dashboards.opensearch_request_timeout longmin: 5000 max: 120000default: 30000Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch. |
opensearch_dashboards.session_keepalive booleandefault: trueDetermines whether the session TTL resets (is "kept alive") on each user activity. Optional. Default is true. |
opensearch_dashboards.session_ttl stringdefault: 1hDefines the time-to-live (TTL) for user sessions. The value should be a time value with unit, e.g. 1m, 5s, 1h, 3d, 100ms. Default is 1 hour. |
Go further
Visit our dedicated Discord channel: https://discord.gg/ovhcloud. Ask questions, provide feedback and interact directly with the team that builds our databases services.
For training or technical assistance implementing our solutions, contact your sales representative or visit our Professional Services page to request a quote and have your project analysed by our experts.
Join our community of users.