フリート検索API
フリート検索APIの目的は、提供されたチェックポイントが処理され、Elasticsearch内で検索可能になった後にのみ検索が実行される検索APIを提供することです。
フリート検索APIは、フリートサーバーを介して間接的に使用するために設計されています。直接使用はサポートされていません。Elasticは、事前通知なしに将来のリリースでこの機能を変更または削除する権利を留保します。
チェックポイント機能の待機
フリート検索APIは、オプションのパラメータwait_for_checkpoints
をサポートしています。このパラメータは、シーケンス番号のチェックポイントのリストです。このパラメータが存在する場合、検索は、提供されたシーケンス番号のチェックポイントまでのすべての操作が検索可能になった後にのみ、ローカルシャードで実行されます。インデックスされた操作は、リフレッシュ後に可視化されます。チェックポイントはシャードによってインデックスされます。
チェックポイントがElasticsearchにリフレッシュされる前にタイムアウトが発生した場合、検索リクエストはタイムアウトします。
フリート検索APIは、単一のターゲットに対する検索のみをサポートします。検索ターゲットとしてインデックスエイリアスが提供される場合、それは単一の具体的なインデックスに解決されなければなりません。
部分結果の許可
デフォルトでは、Elasticsearch検索APIは部分検索結果を許可します。このフリートAPIでは、これをfalse
に設定するか、応答を確認して各シャード検索が成功したことを確認することが一般的です。これらの予防策が講じられない場合、1つ以上のシャードがタイムアウトしても、検索結果が正常に返される可能性があります。
リクエスト
GET /<target>/_fleet/_fleet_search
パスパラメータ
<target>
- (必須、文字列) 検索する単一のターゲット。ターゲットがインデックスエイリアスである場合、単一のインデックスに解決されなければなりません。
クエリパラメータ
wait_for_checkpoints
- (オプション、リスト) チェックポイントのカンマ区切りリスト。設定されている場合、検索APIは、関連するチェックポイントが検索可能になった後にのみシャードで実行されます。デフォルトは空のリストで、これによりElasticsearchは即座に検索を実行します。
allow_partial_search_results
- (オプション、ブール値)
true
の場合、シャードリクエストのタイムアウトやシャードの失敗がある場合に部分結果を返します。false
の場合、部分結果なしでエラーを返します。デフォルトは設定されたクラスター設定search.default_allow_partial_results
で、デフォルトはtrue
です。