k-NN settings

The k-NN plugin adds several new cluster settings. To learn more about static and dynamic settings, see Configuring OpenSearch.

Cluster settings

SettingDefaultDescription
knn.algo_param.index_thread_qty1The number of threads used for native library index creation. Keeping this value low reduces the CPU impact of the k-NN plugin, but also reduces indexing performance.
knn.cache.item.expiry.enabledfalseWhether to remove native library indexes that have not been accessed for a certain duration from memory.
knn.cache.item.expiry.minutes3hIf enabled, the idle time before removing a native library index from memory.
knn.circuit_breaker.unset.percentage75%The native memory usage threshold for the circuit breaker. Memory usage must be below this percentage of knn.memory.circuit_breaker.limit for knn.circuit_breaker.triggered to remain false.
knn.circuit_breaker.triggeredfalseTrue when memory usage exceeds the knn.circuit_breaker.unset.percentage value.
knn.memory.circuit_breaker.limit50%The native memory limit for native library indexes. At the default value, if a machine has 100 GB of memory and the JVM uses 32 GB, the k-NN plugin uses 50% of the remaining 68 GB (34 GB). If memory usage exceeds this value, k-NN removes the least recently used native library indexes.
knn.memory.circuit_breaker.enabledtrueWhether to enable the k-NN memory circuit breaker.
knn.plugin.enabledtrueEnables or disables the k-NN plugin.
knn.model.index.number_of_shards1The number of shards to use for the model system index, the OpenSearch index that stores the models used for Approximate Nearest Neighbor (ANN) search.
knn.model.index.number_of_replicas1The number of replica shards to use for the model system index. Generally, in a multi-node cluster, this should be at least 1 to increase stability.
knn.advanced.filtered_exact_search_thresholdnullThe threshold value for the filtered IDs that is used to switch to exact search during filtered ANN search. If the number of filtered IDs in a segment is less than this setting’s value, exact search will be performed on the filtered IDs.
knn.faiss.avx2.disabledFalseA static setting that specifies whether to disable the SIMD-based libopensearchknn_faiss_avx2.so library and load the non-optimized libopensearchknn_faiss.so library for the Faiss engine on machines with x64 architecture. For more information, see SIMD optimization for the Faiss engine.