検索設定

以下の専門的な設定は、グローバル検索および集約の制限を管理するために設定できます。

  • 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_scriptstrueに設定されているときに、スクリプト化されたメトリクス集約で使用できるインラインスクリプトのリスト。デフォルトは空のリストです。
    他のインラインスクリプトを使用するリクエストはエラーを返します。

  • search.aggs.allowed_stored_metric_scripts
  • (Dynamic, 文字列のリスト) search.aggs.only_allowed_metric_scriptstrueに設定されているときに、スクリプト化されたメトリクス集約で使用できる保存されたスクリプトのIDのリスト。デフォルトは空のリストです。
    他の保存されたスクリプトを使用するリクエストはエラーを返します。

  • indices.query.bool.max_nested_depth
  • (Static, 整数) クエリの最大ネスト深度。デフォルトは30です。
    この設定は、クエリのネスト深度を制限します。クエリの深いネストはスタックオーバーフローエラーを引き起こす可能性があります。