検索API

リクエストで定義されたクエリに一致する検索ヒットを返します。

Python

  1. resp = client.search(
  2. index="my-index-000001",
  3. )
  4. print(resp)

Ruby

  1. response = client.search(
  2. index: 'my-index-000001'
  3. )
  4. puts response

Go

  1. res, err := es.Search(
  2. es.Search.WithIndex("my-index-000001"),
  3. es.Search.WithPretty(),
  4. )
  5. fmt.Println(res, err)

Js

  1. const response = await client.search({
  2. index: "my-index-000001",
  3. });
  4. console.log(response);

コンソール

  1. GET /my-index-000001/_search

リクエスト

GET /<target>/_search

GET /_search

POST /<target>/_search

POST /_search

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、ターゲットデータストリーム、インデックス、またはエイリアスに対してread インデックス権限を持っている必要があります。クロスクラスタ検索については、クロスクラスタ検索の権限を設定するを参照してください。
    エイリアスの時点(PIT)を検索するには、エイリアスのデータストリームまたはインデックスに対してreadインデックス権限を持っている必要があります。

説明

検索クエリを実行し、クエリに一致する検索ヒットを取得できます。qクエリ文字列パラメータまたはリクエストボディを使用して検索クエリを提供できます。

パスパラメータ

  • <target>
  • (オプション、文字列) 検索するデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(*)をサポートします。すべてのデータストリームとインデックスを検索するには、このパラメータを省略するか、*または_allを使用します。

クエリパラメータ

このAPIのいくつかのオプションは、クエリパラメータまたはリクエストボディパラメータを使用して指定できます。両方のパラメータが指定されている場合、クエリパラメータのみが使用されます。

  • allow_no_indices
  • (オプション、ブール値) falseの場合、リクエストは、ワイルドカード式、インデックスエイリアスまたは_all値が欠落または閉じたインデックスのみをターゲットにする場合にエラーを返します。この動作は、リクエストが他のオープンインデックスをターゲットにしている場合でも適用されます。たとえば、foo*,bar*をターゲットにするリクエストは、fooで始まるインデックスがあるが、barで始まるインデックスがない場合にエラーを返します。
    デフォルトはtrueです。

  • allow_partial_search_results
  • (オプション、ブール値) trueの場合、シャードリクエストのタイムアウトやシャードの失敗がある場合に部分的な結果を返します。falseの場合、部分的な結果なしでエラーを返します。デフォルトはtrueです。
    このフィールドのデフォルトを上書きするには、search.default_allow_partial_resultsクラスタ設定をfalseに設定します。
  • analyzer
  • (オプション、文字列) クエリ文字列に使用するアナライザー。
    このパラメータは、qクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • analyze_wildcard
  • (オプション、ブール値) trueの場合、ワイルドカードおよびプレフィックスクエリが分析されます。デフォルトはfalseです。
    このパラメータは、qクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • batched_reduce_size
  • (オプション、整数) コーディネーティングノードで一度に削減されるべきシャード結果の数。この値は、リクエスト内のシャードの潜在的な数が大きい場合に、検索リクエストごとのメモリオーバーヘッドを削減するための保護メカニズムとして使用されるべきです。デフォルトは512です。

  • ccs_minimize_roundtrips
  • (オプション、ブール値) trueの場合、クロスクラスタ検索(CCS)リクエストを実行する際に、コーディネーティングノードとリモートクラスタ間のネットワークラウンドトリップが最小化されます。クロスクラスタ検索がネットワーク遅延を処理する方法を参照してください。デフォルトはtrueです。
  • default_operator
  • (オプション、文字列) クエリ文字列クエリのデフォルト演算子:ANDまたはOR。デフォルトはORです。
    このパラメータは、qクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • df
  • (オプション、文字列) クエリ文字列にフィールドプレフィックスが指定されていない場合にデフォルトとして使用するフィールド。
    このパラメータは、qクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • docvalue_fields
  • (オプション、文字列) 各ヒットのフィールドのdocvalue表現として返すフィールドのカンマ区切りリスト。 Doc value fieldsを参照してください。
  • expand_wildcards
  • (オプション、文字列) ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームをターゲットにできる場合、この引数はワイルドカード式が隠れたデータストリームに一致するかどうかを決定します。カンマ区切りの値をサポートします。open,hiddenのような。 有効な値は:
    • all
    • すべてのデータストリームまたはインデックスに一致します。 隠れたものを含みます。
    • open
    • オープンで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。
    • closed
    • クローズドで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。データストリームはクローズできません。
    • hidden
    • 隠れたデータストリームと隠れたインデックスに一致します。openclosed、またはその両方と組み合わせる必要があります。
    • none
    • ワイルドカードパターンは受け付けられません。
      デフォルトはopenです。
  • explain
  • (オプション、ブール値) trueの場合、ヒットの一部としてスコア計算に関する詳細情報を返します。デフォルトはfalseです。

  • from
  • (オプション、整数) 開始ドキュメントオフセット。非負である必要があり、デフォルトは0です。
    デフォルトでは、fromおよびsizeパラメータを使用して10,000ヒットを超えてページングすることはできません。より多くのヒットをページングするには、search_afterパラメータを使用します。
  • ignore_throttled
  • (オプション、ブール値) trueの場合、具体的、拡張された、またはエイリアスされたインデックスは、凍結時に無視されます。デフォルトはtrueです。
    [7.16.0] 7.16.0で非推奨。
  • include_named_queries_score
  • (オプション、ブール値) trueの場合、任意の名前付きクエリからのスコア寄与が含まれます。この機能は、検索応答の各ヒットで各名前付きクエリを再実行します。通常、これによりリクエストに小さなオーバーヘッドが追加されます。ただし、大量のヒットに対して計算コストの高い名前付きクエリを使用すると、かなりのオーバーヘッドが追加される可能性があります。デフォルトはfalseです。
  • ignore_unavailable
  • (オプション、ブール値) falseの場合、リクエストが欠落またはクローズされたインデックスをターゲットにする場合、エラーを返します。デフォルトはfalseです。
  • lenient
  • (オプション、ブール値) trueの場合、クエリ文字列内の形式ベースのクエリ失敗(数値フィールドにテキストを提供するなど)は無視されます。デフォルトはfalseです。
    このパラメータは、qクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • max_concurrent_shard_requests
  • (オプション、整数) この検索が同時に実行するノードごとの同時シャードリクエストの数を定義します。この値は、同時シャードリクエストの数を制限するために、クラスタへの検索の影響を制限するために使用されるべきです。デフォルトは5です。
  • pre_filter_shard_size
  • (オプション、整数) クエリの書き換えに基づいて検索シャードを事前フィルタリングするための事前フィルタラウンドトリップを強制するしきい値を定義します。リクエストが拡張されるシャードの数がしきい値を超える場合、このフィルタラウンドトリップは、たとえば、シャードがその書き換え方法に基づいてドキュメントに一致できない場合に、シャードの数を大幅に制限できます。つまり、日付フィルタが一致する必要があるが、シャードの境界とクエリが不一致である場合です。指定されていない場合、次の条件のいずれかが満たされると、事前フィルタフェーズが実行されます:

    • リクエストが128シャードをターゲットにします。
    • リクエストが1つ以上の読み取り専用インデックスをターゲットにします。
    • クエリのプライマリソートがインデックスフィールドをターゲットにします。

  • preference
  • (オプション、文字列) 検索に使用されるノードとシャード。デフォルトでは、Elasticsearchは適応レプリカ選択を使用して、適格なノードとシャードから選択します。割り当ての認識を考慮します。

    1. - `````_only_local
    • ローカルノードのシャードのみで検索を実行します。
    • _local
    • 可能であれば、ローカルノードのシャードで検索を実行します。そうでない場合は、デフォルトの方法を使用してシャードを選択します。
    • _only_nodes:<node-id>,<node-id>
    • 指定されたノードIDのシャードのみで検索を実行します。選択されたノードに適切なシャードが存在する場合、デフォルトの方法を使用してそれらのノードのシャードを使用します。指定されたノードが利用できない場合は、デフォルトの方法を使用して利用可能なノードからシャードを選択します。
    • _prefer_nodes:<node-id>,<node-id>
    • 可能であれば、指定されたノードIDで検索を実行します。そうでない場合は、デフォルトの方法を使用してシャードを選択します。
    • _shards:<shard>,<shard>
    • 指定されたシャードのみで検索を実行します。この値は、他のpreference値と組み合わせることができます。ただし、_shards値は最初に来る必要があります。たとえば:_shards:2,3|_local
    • <custom-string>
    • _で始まらない任意の文字列。クラスタの状態と選択されたシャードが変更されない場合、同じ<custom-string>値を使用した検索は、同じシャードに同じ順序でルーティングされます。

  • q
  • (オプション、文字列) Luceneクエリ文字列構文のクエリ。
    qパラメータを使用してクエリパラメータ検索を実行できます。クエリパラメータ検索は、完全なElasticsearch Query DSLをサポートしていませんが、テストには便利です。
    qパラメータは、リクエストボディ内のqueryパラメータを上書きします。両方のパラメータが指定されている場合、queryリクエストボディパラメータに一致するドキュメントは返されません。
  • request_cache
  • (オプション、ブール値) trueの場合、size0のリクエストに対して検索結果のキャッシングが有効になります。シャードリクエストキャッシュ設定を参照してください。デフォルトはインデックスレベルの設定です。
  • rest_total_hits_as_int
  • (オプション、ブール値) ヒットの合計が整数またはオブジェクトとしてレンダリングされるべきかどうかを示します。デフォルトはfalseです。
  • routing
  • (オプション、文字列) 操作を特定のシャードにルーティングするために使用されるカスタム値。

  • scroll
  • (オプション、時間値) スクロールのための検索コンテキストを保持する期間。 スクロール検索結果を参照してください。
    デフォルトでは、この値は1d(24時間)を超えることはできません。この制限は、search.max_keep_aliveクラスタレベルの設定を使用して変更できます。

  • search_type
  • (オプション、文字列) 関連スコアリングのために分散用語頻度が計算される方法。
    1. - `````query_then_fetch
    • (デフォルト) 分散用語頻度は、検索を実行している各シャードでローカルに計算されます。このオプションは、より速い検索を推奨しますが、スコアリングの精度が低くなる可能性があります。
    • dfs_query_then_fetch
    • 分散用語頻度は、検索を実行しているすべてのシャードから収集された情報を使用してグローバルに計算されます。このオプションはスコアリングの精度を高めますが、各シャードにラウンドトリップを追加するため、検索が遅くなる可能性があります。
  • seq_no_primary_term
  • (オプション、ブール値) trueの場合、各ヒットの最後の変更のシーケンス番号とプライマリタームを返します。楽観的同時実行制御を参照してください。

  • size
  • (オプション、整数) 返すヒットの数を定義します。デフォルトは10です。
    デフォルトでは、fromおよびsizeパラメータを使用して10,000ヒットを超えてページングすることはできません。より多くのヒットをページングするには、search_afterパラメータを使用します。

  • sort
  • (オプション、文字列) カンマ区切りのリストの \:\ ペア。
    \
    \

  • _source
  • (オプション) 一致するドキュメントのために返されるソースフィールド。これらのフィールドは、検索応答のhits._sourceプロパティに返されます。デフォルトはtrueです。ソースフィルタリングを参照してください。
    1. - `````true
    • (ブール値) ドキュメントの全体のソースが返されます。
    • false
    • (ブール値) ドキュメントのソースは返されません。
    • <string>
    • (文字列) 返すソースフィールドのカンマ区切りリスト。ワイルドカード(*)パターンがサポートされています。
  • _source_excludes
  • (オプション、文字列) 応答から除外するソースフィールド
    このパラメータを使用して、_source_includesクエリパラメータで指定されたサブセットからフィールドを除外することもできます。
    _sourceパラメータがfalseの場合、このパラメータは無視されます。
  • _source_includes
  • (オプション、文字列) 応答に含めるソースフィールド
    このパラメータが指定されている場合、これらのソースフィールドのみが返されます。このサブセットからフィールドを除外するには、_source_excludesクエリパラメータを使用できます。_sourceパラメータがfalseの場合、このパラメータは無視されます。
  • stats
  • (オプション、文字列) ロギングおよび統計目的のためのリクエストの特定のtag
  • stored_fields
  • (オプション、文字列) ヒットの一部として返すストレージフィールドのカンマ区切りリスト。フィールドが指定されていない場合、応答にはストレージフィールドは含まれません。ストレージフィールドを参照してください。
    このフィールドが指定されている場合、_sourceパラメータはfalseにデフォルト設定されます。_source: trueを渡すことで、検索応答にソースフィールドとストレージフィールドの両方を返すことができます。
  • suggest_field
  • (オプション、文字列) 提案に使用するフィールドを指定します。
  • suggest_mode
  • (オプション、文字列) 提案モードを指定します。デフォルトはmissingです。利用可能なオプション:
    • always
    • missing
    • popular
      このパラメータは、suggest_fieldおよびsuggest_textクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • suggest_size
  • (オプション、整数) 返す提案の数。
    このパラメータは、suggest_fieldおよびsuggest_textクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • suggest_text
  • (オプション、文字列) 提案を返すためのソーステキスト。
    このパラメータは、suggest_fieldクエリ文字列パラメータが指定されている場合にのみ使用できます。
  • terminate_after
  • (オプション、整数) 各シャードのために収集する最大ドキュメント数。このクエリがこの制限に達すると、Elasticsearchはクエリを早期に終了します。Elasticsearchは、ソートの前にドキュメントを収集します。
    注意して使用してください。Elasticsearchは、このパラメータをリクエストを処理する各シャードに適用します。可能な場合は、Elasticsearchに自動的に早期終了を実行させることをお勧めします。複数のデータティアにわたるバックインデックスを持つデータストリームをターゲットにするリクエストに対しては、このパラメータを指定しないでください。
    デフォルトは0で、クエリ実行を早期に終了しません。
  • timeout
  • (オプション、時間単位) 各シャードからの応答を待つ期間を指定します。タイムアウトが切れる前に応答が受信されない場合、リクエストは失敗し、エラーが返されます。デフォルトはタイムアウトなしです。
  • track_scores
  • (オプション、ブール値) trueの場合、ドキュメントスコアを計算して返します。スコアがソートに使用されない場合でも。デフォルトはfalseです。
  • track_total_hits
  • (オプション、整数またはブール値) クエリに一致するヒットの数を正確にカウントします。デフォルトは10000です。
    trueの場合、ヒットの正確な数がパフォーマンスの一部を犠牲にして返されます。falseの場合、応答にはクエリに一致するヒットの合計数は含まれません。
  • typed_keys
  • (オプション、ブール値) trueの場合、集約およびサジェスター名は、応答内でそれぞれのタイプによってプレフィックスされます。デフォルトはfalseです。
  • version
  • (オプション、ブール値) trueの場合、ヒットの一部としてドキュメントバージョンを返します。デフォルトはfalseです。

リクエストボディ

  • docvalue_fields
  • (オプション、文字列とオブジェクトの配列)フィールドパターンの配列。リクエストは、応答のhits.fieldsプロパティにこれらのパターンに一致するフィールド名の値を返します。
    配列内のアイテムは文字列またはオブジェクトとして指定できます。ドキュメント値フィールドを参照してください。

    1. - `````field
    • (必須、文字列)ワイルドカードパターン。リクエストは、このパターンに一致するフィールド名のドキュメント値を返します。
    • format
    • (オプション、文字列)ドキュメント値が返される形式。
      日付フィールドの場合、日付の日付formatを指定できます。数値フィールドの場合、DecimalFormatパターンを指定できます。
      他のフィールドデータ型については、このパラメータはサポートされていません。

  • fields
  • (オプション、文字列とオブジェクトの配列)フィールドパターンの配列。リクエストは、応答のhits.fieldsプロパティにこれらのパターンに一致するフィールド名の値を返します。
    配列内のアイテムは文字列またはオブジェクトとして指定できます。fieldsオプションを参照してください。

    1. - `````field
    • (必須、文字列)返すフィールド。ワイルドカード(*)をサポートします。
    • format
    • (オプション、文字列)日付および地理空間フィールドの形式。他のフィールドデータ型はこのパラメータをサポートしていません。
      dateおよびdate_nanosフィールドは日付形式を受け入れます。geo_pointおよびgeo_shapeフィールドは次のものを受け入れます:
      • geojson(デフォルト)
      • GeoJSON
      • wkt
      • Well Known Text
      • mvt(<spec>)
      • バイナリ Mapboxベクタタイル。APIはタイルをbase64エンコードされた文字列として返します。<spec><zoom>/<x>/<y>の形式で、2つのオプションのサフィックス:@<extent>および/または:<buffer>を持ちます。例えば、2/0/1または2/0/1@4096:5
        mvtパラメータ
      • <zoom>
      • (必須、整数)タイルのズームレベル。0-29を受け入れます。
      • <x>
      • (必須、整数)タイルのX座標。
      • <y>
      • (必須、整数)タイルのY座標。
      • <extent>
      • (オプション、整数)タイルの一辺のサイズ(ピクセル単位)。ベクタタイルは、等しい辺を持つ正方形です。デフォルトは4096です。
      • <buffer>
      • (オプション、整数)タイルの外側のクリッピングバッファのサイズ(ピクセル単位)。これにより、レンダラーはタイルの範囲を超えて延びるジオメトリからのアウトラインアーティファクトを回避できます。デフォルトは5です。

  • stored_fields
  • (オプション、文字列)ヒットの一部として返す保存されたフィールドのカンマ区切りリスト。フィールドが指定されていない場合、保存されたフィールドは応答に含まれません。保存されたフィールドを参照してください。
    このオプションが指定されている場合、_sourceパラメータはfalseにデフォルト設定されます。_source: trueを渡すことで、検索応答にソースフィールドと保存されたフィールドの両方を返すことができます。

  • explain
  • (オプション、ブール値) trueの場合、ヒットの一部としてスコア計算に関する詳細情報を返します。デフォルトはfalseです。
  • from
  • (オプション、整数) 開始ドキュメントオフセット。非負である必要があり、デフォルトは 0 です。
    デフォルトでは、from および size パラメータを使用して、10,000件を超えるヒットをページングすることはできません。より多くのヒットをページングするには、search_after パラメータを使用します。
  • indices_boost
  • (オプション、オブジェクトの配列) 指定されたインデックスからの文書の_scoreをブーストします。

    1. - `````<index>: <boost-value>
    • (必須、浮動小数点) <index>はインデックスまたはインデックスエイリアスの名前です。ワイルドカード(*)式がサポートされています。
      <boost-value>はスコアが乗算される係数です。
      ブースト値が1.0より大きい場合、スコアが増加します。ブースト値が01.0の間の場合、スコアが減少します。

  • knn
  • (オプション、オブジェクトまたはオブジェクトの配列) 実行するkNNクエリを定義します。

    1. - `````field
    • (必須、文字列)検索対象のベクトルフィールドの名前。インデックスが有効なdense_vectorフィールドである必要があります。
    • filter
    • (オプション、[クエリDSLオブジェクト](/read/elasticsearch-8-15/adeacfff22b20f2c.md))一致する可能性のあるドキュメントをフィルタリングするためのクエリ。kNN検索は、このフィルターにも一致する上位kドキュメントを返します。この値は単一のクエリまたはクエリのリストであることができます。filterが提供されていない場合、すべてのドキュメントが一致することが許可されます。
    • k
    • (オプション、整数)上位ヒットとして返す最近傍の数。この値はnum_candidates以下でなければなりません。デフォルトはsizeです。
    • num_candidates
    • (オプション、整数)シャードごとに考慮する最近傍候補の数。kより大きく、sizeが省略された場合はkより大きくする必要があり、10,000を超えてはいけません。Elasticsearchは各シャードからnum_candidates結果を収集し、それらをマージして上位k結果を見つけます。num_candidatesを増やすと、最終的なk結果の精度が向上する傾向があります。デフォルトはMath.min(1.5 * k, 10_000)です。
    • query_vector
    • (オプション、浮動小数点の配列) クエリベクトル。検索対象のベクトルフィールドと同じ次元数を持つ必要があります。浮動小数点の配列または16進エンコードされたバイトベクトルのいずれかでなければなりません。
    • query_vector_builder
    • (オプション、オブジェクト) リクエストを実行する前にquery_vectorを構築する方法を示す構成オブジェクト。query_vector_builderまたはquery_vectorのいずれかを提供する必要がありますが、両方は提供できません。意味的検索を実行するを参照して詳細を学んでください。
    • similarity
    • (オプション、浮動小数点) 文書が一致と見なされるために必要な最小類似度。計算された類似度値は、使用される生のsimilarityに関連しています。文書スコアではありません。一致した文書はsimilarityに従ってスコア付けされ、提供されたboostが適用されます。
      similarityパラメータは、直接的なベクトル類似度計算です。
      • l2_norm: ユークリッドとしても知られ、ベクトルがdims次元のハイパースフィア内にあり、半径similarityで原点がquery_vectorにある文書を含みます。
      • cosinedot_product、およびmax_inner_product: コサイン類似度または内積が提供されたsimilarity以上であるベクトルのみを返します。
        詳細はこちらを参照してください: knn similarity search

  • min_score
  • (オプション、浮動小数点) 一致する文書の最小_score_scoreが低い文書は検索結果に含まれません。

  • pit
  • (オプション、オブジェクト) 時点(PIT)に検索を制限します。pitを提供する場合、リクエストパスで<target>を指定することはできません。

    1. - `````id
    • (必須*、文字列) 検索するPITのID。pitオブジェクトを提供する場合、このパラメータは必須です。
    • keep_alive
    • (オプション、時間値) PITの寿命を延ばすために使用される時間の期間。

  • query
  • (オプション、クエリオブジェクトQuery DSLを使用して検索定義を定義します。

  • retriever
  • [プレビュー] この機能は技術プレビュー中であり、将来のリリースで変更または削除される可能性があります。Elasticは問題を修正するために作業しますが、技術プレビューの機能は公式GA機能のサポートSLAの対象ではありません。 (オプション、リトリーバーオブジェクト) 標準のクエリやkNN検索の代わりに、希望するトップ文書のセットを指定するためのトップレベルのリトリーバーを定義します。

  • runtime_mappings
  • (オプション、オブジェクトのオブジェクト) 検索リクエスト内の1つ以上のランタイムフィールドを定義します。これらのフィールドは、同じ名前のマッピングされたフィールドよりも優先されます。
    1. - `````<field-name>
    • (必須、オブジェクト) ランタイムフィールドの設定。キーはフィールド名です。
      1. - `````type
      • (必須、文字列) フィールドタイプ、次のいずれかである必要があります:
      • boolean
      • composite
      • date
      • double
      • geo_point
      • ip
      • keyword
      • long
      • lookup
      • script
      • (オプション、文字列) Painlessスクリプトがクエリ時に実行されます。このスクリプトは、元の_sourceやマッピングされたフィールドとその値を含む文書の全コンテキストにアクセスできます。
        このスクリプトは、計算された値を返すためにemitを含む必要があります。例えば:

Js

  1. "script": "emit(doc['@timestamp'].value.dayOfWeekEnum.toString())"

  • seq_no_primary_term
  • (オプション、ブール値) trueの場合、各ヒットの最後の変更のシーケンス番号とプライマリタームを返します。楽観的同時実行制御を参照してください。
  • size
  • (オプション、整数) 返すヒットの数。非負である必要があり、デフォルトは10です。
    デフォルトでは、from および size パラメータを使用して、10,000件を超えるヒットをページングすることはできません。より多くのヒットをページングするには、search_after パラメータを使用します。

  • _source

  • (オプション)一致するドキュメントに対して返される@source fieldsを示します。これらのフィールドは、検索応答のhits._sourceプロパティに返されます。デフォルトはtrueです。ソースフィルタリングを参照してください。

    1. - `````true
    • (ブール値)ドキュメント全体のソースが返されます。
    • false
    • (ブール値)ドキュメントソースは返されません。
    • <wildcard_pattern>
    • (文字列または文字列の配列)返すソースフィールドを含むワイルドカード(*)パターンまたはパターンの配列。
    • <object>
    • (オブジェクト)含めるまたは除外するソースフィールドのリストを含むオブジェクト。
      1. - `````excludes
      • (文字列または文字列の配列) ワイルドカード(*)パターンまたは応答から除外するソースフィールドを含むパターンの配列。
        このプロパティを使用して、includesプロパティで指定されたサブセットからフィールドを除外することもできます。
      • includes
      • (文字列または文字列の配列)返すソースフィールドを含むワイルドカード(*)パターンまたはパターンの配列。
        このプロパティが指定されている場合、これらのソースフィールドのみが返されます。このサブセットからフィールドを除外するには、excludesプロパティを使用できます。

  • stats
  • (オプション、文字列の配列) 検索に関連付ける統計グループ。各グループは、その関連する検索の統計集計を維持します。これらの統計は、インデックス統計APIを使用して取得できます。

  • terminate_after
  • (オプション、整数) 各シャードで収集する最大ドキュメント数。クエリがこの制限に達すると、Elasticsearchはクエリを早期に終了します。Elasticsearchはソート前にドキュメントを収集します。
    注意して使用してください。Elasticsearchはこのパラメータをリクエストを処理する各シャードに適用します。可能な場合は、Elasticsearchに自動的に早期終了を行わせてください。このパラメータを、複数のデータティアにわたるバックインデックスを持つデータストリームをターゲットにするリクエストに指定することは避けてください。
    デフォルトは0で、クエリ実行を早期に終了しません。
  • timeout
  • (オプション、時間単位) 各シャードからの応答を待つ期間を指定します。タイムアウトが切れる前に応答が受信されない場合、リクエストは失敗し、エラーが返されます。デフォルトはタイムアウトなしです。

  • version
  • (オプション、ブール値) trueの場合、ヒットの一部として文書のバージョンを返します。デフォルトはfalseです。

レスポンスボディ

  • _scroll_id
  • (文字列) 検索の識別子とその検索コンテキスト
    このスクロールIDを使用して、スクロールAPIを使用してリクエストの次のバッチの検索結果を取得できます。スクロール検索結果を参照してください。
    このパラメータは、リクエストでscrollクエリパラメータが指定されている場合にのみ返されます。

  • took
  • (整数)リクエストを実行するのにかかったミリ秒。
    この値は、リクエストが調整ノードで受信されてから、調整ノードがレスポンスを送信する準備ができるまでの経過時間を測定することによって計算されます。
    かかった時間には次が含まれます:
    • 調整ノードとデータノード間の通信時間
    • リクエストがsearch スレッドプールで実行待ちの時間
    • 実際の実行時間
      かかった時間には含まれません:
    • Elasticsearchにリクエストを送信するのに必要な時間
    • JSONレスポンスをシリアライズするのに必要な時間
    • クライアントにレスポンスを送信するのに必要な時間
  • timed_out
  • (ブール値) trueの場合、リクエストは完了前にタイムアウトしました; 返された結果は部分的または空である可能性があります。

  • _shards
  • (オブジェクト) リクエストに使用されたシャードのカウントを含みます。
    1. - `````total
    • (整数) クエリが必要なシャードの合計数、未割り当てのシャードを含みます。
    • successful
    • (整数) リクエストを正常に実行したシャードの数。
    • skipped
    • (整数) このシャードで文書が一致する可能性がないことを軽量チェックで認識したため、リクエストをスキップしたシャードの数。これは通常、検索リクエストに範囲フィルターが含まれており、シャードがその範囲外の値のみを持つ場合に発生します。
    • failed
    • (整数) リクエストを実行できなかったシャードの数。割り当てられていないシャードは、成功または失敗と見なされません。failed+successfultotal未満である場合、いくつかのシャードが割り当てられていないことを示します。
  • hits
  • (オブジェクト) 返された文書とメタデータを含みます。
    1. - `````total
    • (オブジェクト) 一致した文書の数に関するメタデータ。
      1. - `````value
      • (整数) 一致した文書の合計数。
      • relation
      • (文字列) valueパラメータの一致した文書の数が正確であるか下限であるかを示します。
        relationの値:
      • eq
      • 正確
      • gte
      • 下限
    • max_score
    • (浮動小数点) 返された文書_scoreの最高値。
      この値は、null_scoreでソートしないリクエストに対してnullです。
    • hits
    • (オブジェクトの配列) 返された文書オブジェクトの配列。
      1. - `````_index
      • (文字列) 返された文書を含むインデックスの名前。
      • _id
      • (文字列) 返された文書の一意の識別子。このIDは返されたインデックス内でのみ一意です。
      • _score
      • (浮動小数点) 返された文書の関連性を決定するために使用される正の32ビット浮動小数点数。
      • _source
      • (オブジェクト) インデックス時に文書に渡された元のJSONボディ。
        _sourceパラメータを使用して、このプロパティを応答から除外するか、返すソースフィールドを指定できます。
      • fields
      • (オブジェクト) 文書のフィールド値を含みます。これらのフィールドは、次のリクエストパラメータの1つ以上を使用してリクエストで指定する必要があります:
      • fields
      • docvalue_fields
      • script_fields
      • stored_fields
        このプロパティは、これらのパラメータの1つ以上が設定されている場合にのみ返されます。
        fieldsのプロパティ
      • <field>
      • (配列) キーはフィールド名です。値はフィールドの値です。

Python

  1. resp = client.search(
  2. index="my-index-000001",
  3. from_="40",
  4. size="20",
  5. query={
  6. "term": {
  7. "user.id": "kimchy"
  8. }
  9. },
  10. )
  11. print(resp)

Ruby

  1. response = client.search(
  2. index: 'my-index-000001',
  3. from: 40,
  4. size: 20,
  5. body: {
  6. query: {
  7. term: {
  8. 'user.id' => 'kimchy'
  9. }
  10. }
  11. }
  12. )
  13. puts response

Js

  1. const response = await client.search({
  2. index: "my-index-000001",
  3. from: 40,
  4. size: 20,
  5. query: {
  6. term: {
  7. "user.id": "kimchy",
  8. },
  9. },
  10. });
  11. console.log(response);

コンソール

  1. GET /my-index-000001/_search?from=40&size=20
  2. {
  3. "query": {
  4. "term": {
  5. "user.id": "kimchy"
  6. }
  7. }
  8. }

APIは以下のレスポンスを返します:

コンソール-結果

  1. {
  2. "took": 5,
  3. "timed_out": false,
  4. "_shards": {
  5. "total": 1,
  6. "successful": 1,
  7. "skipped": 0,
  8. "failed": 0
  9. },
  10. "hits": {
  11. "total": {
  12. "value": 20,
  13. "relation": "eq"
  14. },
  15. "max_score": 1.3862942,
  16. "hits": [
  17. {
  18. "_index": "my-index-000001",
  19. "_id": "0",
  20. "_score": 1.3862942,
  21. "_source": {
  22. "@timestamp": "2099-11-15T14:12:12",
  23. "http": {
  24. "request": {
  25. "method": "get"
  26. },
  27. "response": {
  28. "status_code": 200,
  29. "bytes": 1070000
  30. },
  31. "version": "1.1"
  32. },
  33. "source": {
  34. "ip": "127.0.0.1"
  35. },
  36. "message": "GET /search HTTP/1.1 200 1070000",
  37. "user": {
  38. "id": "kimchy"
  39. }
  40. }
  41. },
  42. ...
  43. ]
  44. }
  45. }