このドキュメントでは、 Fess の v2 検索 API について説明します。 共通のレスポンスエンベロープ・エラーモデル・CSRF については APIの概要 を参照してください。
ベースURLは http://<Server Name>/api/v2/ です(ローカル環境の例: http://localhost:8080/api/v2 )。
ドキュメントの検索
リクエスト
| HTTPメソッド | GET |
| エンドポイント | /api/v2/search |
クエリにマッチするドキュメントを検索し、共通エンベロープで結果を返します。 ペイロード内のフィールド名はすべて snake_case です。
リクエストパラメーター
表: リクエストパラメーター
レスポンス
成功時(200)は、共通エンベロープの response 直下に以下のフィールドが返ります。
各フィールドについては以下の通りです。
表: レスポンスフィールド
エラーレスポンス
エラーモデルの詳細は APIの概要 を参照してください。このエンドポイントが返す HTTP ステータスは以下の通りです。
| ステータスコード | 説明 |
| 400 Bad Request | リクエストが不正な場合。 |
| 405 Method Not Allowed | HTTP メソッドが許可されていない場合。 |
| 500 Internal Server Error | サーバー内部エラーが発生した場合。 |
表: エラーレスポンス
全ドキュメントの取得(スクロール検索・NDJSON)
リクエスト
| HTTPメソッド | GET |
| エンドポイント | /api/v2/documents/all |
クエリにマッチするすべてのドキュメントを NDJSON ( application/x-ndjson )でストリーム配信します。 各行は {"data":{...}} オブジェクトで、 QueryFieldConfig#isApiResponseField が許可するフィールドを含みます。
ストリームの途中で失敗した場合は、最終行に次の行を出力してフラッシュします。
このため、クライアントは最後の行の最初のキーを確認し、正常完了( data )かサーバー異常( error )かを区別しなければなりません。
クエリは GET /search と同じパラメーターセット( q , sort , num , lang , ex_q , sdh , fields.* , as.* , track_total_hits , facet.* , geo.* )で構築されます。 api.search.scroll=false でスクロール検索が無効な場合は invalid_request (400)を返します。
リクエストパラメーター
仕様に明示されているパラメーターは以下の通りです。
表: リクエストパラメーター
レスポンス
成功時(200)の Content-Type は application/x-ndjson で、以下のように1行1ドキュメントで返ります。
エラーレスポンス
エラーモデルの詳細は APIの概要 を参照してください。このエンドポイントが返す HTTP ステータスは以下の通りです。
| ステータスコード | 説明 |
| 400 Bad Request | 不正なクエリ、 num <= 0 、または api.search.scroll=false でスクロール検索が無効な場合。 |
| 405 Method Not Allowed | HTTP メソッドが許可されていない場合。 |
| 500 Internal Server Error | サーバー内部エラーが発生した場合。 |
表: エラーレスポンス