検索設定
以下の専門的な設定は、グローバル検索および集約の制限を管理するために設定できます。
indices.query.bool.max_clause_count
[8.0.0] 8.0.0で非推奨。 (Static, 整数) この非推奨の設定は効果がありません。
Elasticsearchは、検索スレッドプールのサイズとJVMに割り当てられたヒープのサイズに基づいて、クエリ内で許可される最大のクローズ数を動的に設定します。この制限の最小値は1024であり、ほとんどの場合はそれより大きくなります(例えば、30GbのRAMと48のCPUを持つノードは、約27,000の最大クローズ数を持ちます)。大きなヒープはより高い値をもたらし、大きなスレッドプールはより低い値をもたらします。
多くのクローズを持つクエリは、可能な限り避けるべきです。以前にこの設定を重いクエリに対応するために引き上げた場合は、Elasticsearchに利用可能なメモリを増やすか、各同時検索に利用可能なメモリを増やすために検索スレッドプールのサイズを減らす必要があるかもしれません。
以前のLuceneのバージョンでは、ブールクエリを入れ子にすることでこの制限を回避できましたが、現在の制限はクエリ全体内のリーフクエリの総数に基づいており、この回避策はもはや役に立ちません。search.max_buckets
(Dynamic, 整数) 単一の応答で許可される集約バケットの最大数。デフォルトは65,536です。
この制限を超えて返そうとするリクエストはエラーを返します。search.aggs.only_allowed_metric_scripts
(Dynamic, ブール) スクリプト化されたメトリクス集約で使用できるのは明示的に許可されたスクリプトのみかどうかを設定します。デフォルトは
false
です。search.aggs.allowed_inline_metric_scripts
またはsearch.aggs.allowed_stored_metric_scripts
に含まれていないスクリプトを使用するリクエストはエラーを返します。search.aggs.allowed_inline_metric_scripts
(Dynamic, 文字列のリスト)
search.aggs.only_allowed_metric_scripts
がtrue
に設定されているときに、スクリプト化されたメトリクス集約で使用できるインラインスクリプトのリスト。デフォルトは空のリストです。
他のインラインスクリプトを使用するリクエストはエラーを返します。search.aggs.allowed_stored_metric_scripts
(Dynamic, 文字列のリスト)
search.aggs.only_allowed_metric_scripts
がtrue
に設定されているときに、スクリプト化されたメトリクス集約で使用できる保存されたスクリプトのIDのリスト。デフォルトは空のリストです。
他の保存されたスクリプトを使用するリクエストはエラーを返します。indices.query.bool.max_nested_depth
- (Static, 整数) クエリの最大ネスト深度。デフォルトは
30
です。
この設定は、クエリのネスト深度を制限します。クエリの深いネストはスタックオーバーフローエラーを引き起こす可能性があります。