検索API
リクエストで定義されたクエリに一致する検索ヒットを返します。
Python
resp = client.search(
index="my-index-000001",
)
print(resp)
Ruby
response = client.search(
index: 'my-index-000001'
)
puts response
Go
res, err := es.Search(
es.Search.WithIndex("my-index-000001"),
es.Search.WithPretty(),
)
fmt.Println(res, err)
Js
const response = await client.search({
index: "my-index-000001",
});
console.log(response);
コンソール
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
- 隠れたデータストリームと隠れたインデックスに一致します。
open
、closed
、またはその両方と組み合わせる必要があります。 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は適応レプリカ選択を使用して、適格なノードとシャードから選択します。割り当ての認識を考慮します。
- `````_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
の場合、size
が0
のリクエストに対して検索結果のキャッシングが有効になります。シャードリクエストキャッシュ設定を参照してください。デフォルトはインデックスレベルの設定です。 rest_total_hits_as_int
- (オプション、ブール値) ヒットの合計が整数またはオブジェクトとしてレンダリングされるべきかどうかを示します。デフォルトは
false
です。 routing
(オプション、文字列) 操作を特定のシャードにルーティングするために使用されるカスタム値。
scroll
(オプション、時間値) スクロールのための検索コンテキストを保持する期間。 スクロール検索結果を参照してください。
デフォルトでは、この値は1d
(24時間)を超えることはできません。この制限は、search.max_keep_alive
クラスタレベルの設定を使用して変更できます。search_type
- (オプション、文字列) 関連スコアリングのために分散用語頻度が計算される方法。
- `````query_then_fetch
seq_no_primary_term
(オプション、ブール値)
true
の場合、各ヒットの最後の変更のシーケンス番号とプライマリタームを返します。楽観的同時実行制御を参照してください。size
(オプション、整数) 返すヒットの数を定義します。デフォルトは
10
です。
デフォルトでは、from
およびsize
パラメータを使用して10,000ヒットを超えてページングすることはできません。より多くのヒットをページングするには、search_after
パラメータを使用します。sort
(オプション、文字列) カンマ区切りのリストの \
:\ ペア。 \
\_source
- (オプション) 一致するドキュメントのために返されるソースフィールド。これらのフィールドは、検索応答の
hits._source
プロパティに返されます。デフォルトはtrue
です。ソースフィルタリングを参照してください。- `````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
プロパティにこれらのパターンに一致するフィールド名の値を返します。
配列内のアイテムは文字列またはオブジェクトとして指定できます。ドキュメント値フィールドを参照してください。- `````field
- (必須、文字列)ワイルドカードパターン。リクエストは、このパターンに一致するフィールド名のドキュメント値を返します。
format
- (オプション、文字列)ドキュメント値が返される形式。
日付フィールドの場合、日付の日付format
を指定できます。数値フィールドの場合、DecimalFormatパターンを指定できます。
他のフィールドデータ型については、このパラメータはサポートされていません。
fields
(オプション、文字列とオブジェクトの配列)フィールドパターンの配列。リクエストは、応答の
hits.fields
プロパティにこれらのパターンに一致するフィールド名の値を返します。
配列内のアイテムは文字列またはオブジェクトとして指定できます。fields
オプションを参照してください。- `````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
をブーストします。- `````<index>: <boost-value>
- (必須、浮動小数点)
<index>
はインデックスまたはインデックスエイリアスの名前です。ワイルドカード(*
)式がサポートされています。<boost-value>
はスコアが乗算される係数です。
ブースト値が1.0
より大きい場合、スコアが増加します。ブースト値が0
と1.0
の間の場合、スコアが減少します。
knn
(オプション、オブジェクトまたはオブジェクトの配列) 実行するkNNクエリを定義します。
- `````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
にある文書を含みます。cosine
、dot_product
、およびmax_inner_product
: コサイン類似度または内積が提供されたsimilarity
以上であるベクトルのみを返します。
詳細はこちらを参照してください: knn similarity search
min_score
(オプション、浮動小数点) 一致する文書の最小
_score
。_score
が低い文書は検索結果に含まれません。pit
(オプション、オブジェクト) 時点(PIT)に検索を制限します。
pit
を提供する場合、リクエストパスで<target>
を指定することはできません。- `````id
- (必須*、文字列) 検索するPITのID。
pit
オブジェクトを提供する場合、このパラメータは必須です。 keep_alive
- (オプション、時間値) PITの寿命を延ばすために使用される時間の期間。
query
retriever
[プレビュー] この機能は技術プレビュー中であり、将来のリリースで変更または削除される可能性があります。Elasticは問題を修正するために作業しますが、技術プレビューの機能は公式GA機能のサポートSLAの対象ではありません。 (オプション、リトリーバーオブジェクト) 標準のクエリやkNN検索の代わりに、希望するトップ文書のセットを指定するためのトップレベルのリトリーバーを定義します。
runtime_mappings
- (オプション、オブジェクトのオブジェクト) 検索リクエスト内の1つ以上のランタイムフィールドを定義します。これらのフィールドは、同じ名前のマッピングされたフィールドよりも優先されます。
- `````<field-name>
- (必須、オブジェクト) ランタイムフィールドの設定。キーはフィールド名です。
- `````type
- (必須、文字列) フィールドタイプ、次のいずれかである必要があります:
boolean
composite
date
double
geo_point
ip
keyword
long
lookup
script
- (オプション、文字列) Painlessスクリプトがクエリ時に実行されます。このスクリプトは、元の
_source
やマッピングされたフィールドとその値を含む文書の全コンテキストにアクセスできます。
このスクリプトは、計算された値を返すためにemit
を含む必要があります。例えば:
Js
"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
です。ソースフィルタリングを参照してください。- `````true
- (ブール値)ドキュメント全体のソースが返されます。
false
- (ブール値)ドキュメントソースは返されません。
<wildcard_pattern>
- (文字列または文字列の配列)返すソースフィールドを含むワイルドカード(
*
)パターンまたはパターンの配列。 <object>
- (オブジェクト)含めるまたは除外するソースフィールドのリストを含むオブジェクト。
- `````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
- (オブジェクト) リクエストに使用されたシャードのカウントを含みます。
- `````total
- (整数) クエリが必要なシャードの合計数、未割り当てのシャードを含みます。
successful
- (整数) リクエストを正常に実行したシャードの数。
skipped
- (整数) このシャードで文書が一致する可能性がないことを軽量チェックで認識したため、リクエストをスキップしたシャードの数。これは通常、検索リクエストに範囲フィルターが含まれており、シャードがその範囲外の値のみを持つ場合に発生します。
failed
- (整数) リクエストを実行できなかったシャードの数。割り当てられていないシャードは、成功または失敗と見なされません。
failed+successful
がtotal
未満である場合、いくつかのシャードが割り当てられていないことを示します。
hits
- (オブジェクト) 返された文書とメタデータを含みます。
- `````total
- (オブジェクト) 一致した文書の数に関するメタデータ。
- `````value
- (整数) 一致した文書の合計数。
relation
- (文字列)
value
パラメータの一致した文書の数が正確であるか下限であるかを示します。relation
の値: eq
- 正確
gte
- 下限
max_score
- (浮動小数点) 返された文書
_score
の最高値。
この値は、null
で_score
でソートしないリクエストに対してnull
です。
hits
- (オブジェクトの配列) 返された文書オブジェクトの配列。
- `````_index
- (文字列) 返された文書を含むインデックスの名前。
_id
- (文字列) 返された文書の一意の識別子。このIDは返されたインデックス内でのみ一意です。
_score
- (浮動小数点) 返された文書の関連性を決定するために使用される正の32ビット浮動小数点数。
_source
- (オブジェクト) インデックス時に文書に渡された元のJSONボディ。
_source
パラメータを使用して、このプロパティを応答から除外するか、返すソースフィールドを指定できます。 fields
- (オブジェクト) 文書のフィールド値を含みます。これらのフィールドは、次のリクエストパラメータの1つ以上を使用してリクエストで指定する必要があります:
fields
docvalue_fields
script_fields
stored_fields
このプロパティは、これらのパラメータの1つ以上が設定されている場合にのみ返されます。fields
のプロパティ<field>
- (配列) キーはフィールド名です。値はフィールドの値です。
例
Python
resp = client.search(
index="my-index-000001",
from_="40",
size="20",
query={
"term": {
"user.id": "kimchy"
}
},
)
print(resp)
Ruby
response = client.search(
index: 'my-index-000001',
from: 40,
size: 20,
body: {
query: {
term: {
'user.id' => 'kimchy'
}
}
}
)
puts response
Js
const response = await client.search({
index: "my-index-000001",
from: 40,
size: 20,
query: {
term: {
"user.id": "kimchy",
},
},
});
console.log(response);
コンソール
GET /my-index-000001/_search?from=40&size=20
{
"query": {
"term": {
"user.id": "kimchy"
}
}
}
コンソール-結果
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 20,
"relation": "eq"
},
"max_score": 1.3862942,
"hits": [
{
"_index": "my-index-000001",
"_id": "0",
"_score": 1.3862942,
"_source": {
"@timestamp": "2099-11-15T14:12:12",
"http": {
"request": {
"method": "get"
},
"response": {
"status_code": 200,
"bytes": 1070000
},
"version": "1.1"
},
"source": {
"ip": "127.0.0.1"
},
"message": "GET /search HTTP/1.1 200 1070000",
"user": {
"id": "kimchy"
}
}
},
...
]
}
}