このドキュメントでは、 Fess の v2 クリックログ API について説明します。 共通のレスポンスエンベロープ・エラーモデル・CSRF については APIの概要 を参照してください。
ベースURLは http://<Server Name>/api/v2/ です(ローカル環境の例: http://localhost:8080/api/v2 )。
クリックの記録
リクエスト
| HTTPメソッド | POST |
| エンドポイント | /api/v2/click |
検索結果のクリックを検索ログに記録します。 匿名の呼び出し元、および検索ログ機能が無効なインストールでは、成功レスポンスで logged: false を返します(エラーにはなりません)。
状態を変更するリクエストのため、 X-Fess-CSRF-Token ヘッダーが必要です( APIの概要 を参照)。
リクエストボディ
Content-Type: application/json で、以下のフィールドを持つ JSON (ClickRequest)を送信します。
リクエストボディ doc_id | ドキュメント ID(str, 必須, パターン ^[A-Za-z0-9_-]+$ )。クリックを記録する対象のドキュメントを指定します。 |
query_id | 検索 API ( /search )が返す query_id (str, 任意)。クリックを元の検索クエリに関連付けます。 |
rank | 結果リスト内の順位(1 始まり、int, 任意)。 |
rt | 元の検索リクエストの epoch ミリ秒(int64, 任意)。未指定時はサーバーの現在時刻が既定値になります。 |
表: リクエストボディ
レスポンス
成功時(200)は、共通エンベロープの response 直下に以下のフィールドが返ります。
各フィールドについては以下の通りです。
レスポンスフィールド ok | 常に true (bool)。 |
logged | 検索ログの永続化が無効、または呼び出し元が匿名のとき false (bool)。その場合でも 200 レスポンスを返します。 |
表: レスポンスフィールド
注釈
logged: true は、クリックが検索ログの記録キューに受け付けられたことを示します。永続化は非同期に行われます。
エラーレスポンス
エラーモデルの詳細は APIの概要 を参照してください。このエンドポイントが返す HTTP ステータスは以下の通りです。
エラーレスポンス | ステータスコード | 説明 |
| 400 Bad Request | リクエストボディが不正な JSON の場合、または doc_id が未指定・パターンに一致しない場合。 |
| 403 Forbidden | CSRF トークンの欠落・失効などで許可されない場合。 |
| 404 Not Found | 指定した doc_id に対応するドキュメントが見つからない場合。 |
| 405 Method Not Allowed | POST 以外の HTTP メソッドが使用された場合( Allow: POST ヘッダーを返します)。 |
| 413 Payload Too Large | リクエストボディがサイズ上限(2 KiB)を超えている場合。 |
| 415 Unsupported Media Type | Content-Type が application/json でない場合(UTF-8 が必要です)。 |
| 500 Internal Server Error | サーバー内部エラーが発生した場合。 |
表: エラーレスポンス