概要
RelatedQuery APIは、Fess の関連クエリを管理するためのAPIです。 ユーザーが入力する検索キーワード(term)に対して、関連する検索キーワードの候補 (queries)を登録・管理できます。登録した関連クエリは、検索画面で関連する検索候補として 表示されます。
認証方法、共通のレスポンス形式(version フィールドや status コード)、 ページネーション、エラーレスポンスの詳細は Admin API 概要 を参照してください。
ベースURL
/api/admin/relatedquery
エンドポイント一覧
| メソッド | パス | 説明 |
|---|---|---|
| GET | /settings | 関連クエリ一覧取得 |
| GET | /setting/{id} | 関連クエリ取得 |
| POST | /setting | 関連クエリ作成 |
| PUT | /setting | 関連クエリ更新 |
| DELETE | /setting/{id} | 関連クエリ削除 |
関連クエリ一覧取得
リクエスト
GET /api/admin/relatedquery/settings
パラメーター
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
size | Integer | いいえ | 1ページあたりの件数(デフォルト: 25。fess_config.properties の paging.page.size で変更可能) |
page | Integer | いいえ | ページ番号(1から開始。デフォルト: 1) |
レスポンス
{
"response": {
"version": "15.7.0",
"status": 0,
"settings": [
{
"id": "query_id_1",
"term": "fess",
"queries": "fess tutorial\nfess installation\nfess configuration",
"versionNo": 1
}
],
"total": 5
}
}
注釈
各設定には versionNo``(楽観的ロック用のバージョン番号)が含まれます。``virtualHost や監査用フィールド(createdBy、createdTime、updatedBy、updatedTime)は、 値が設定されている場合に限り含まれます。値が空の virtualHost はレスポンスに含まれません。
関連クエリ取得
リクエスト
GET /api/admin/relatedquery/setting/{id}
レスポンス
{
"response": {
"version": "15.7.0",
"status": 0,
"setting": {
"id": "query_id_1",
"term": "fess",
"queries": "fess tutorial\nfess installation\nfess configuration",
"virtualHost": "site1.example.com",
"versionNo": 1
}
}
}
関連クエリ作成
リクエスト
POST /api/admin/relatedquery/setting
Content-Type: application/json
リクエストボディ
{
"term": "search",
"queries": "search tutorial\nsearch syntax\nadvanced search",
"virtualHost": ""
}
フィールド説明
| フィールド | 必須 | 説明 |
|---|---|---|
term | はい | 検索キーワード(最大10000文字) |
queries | はい | 関連クエリ。1行に1件を記述した改行区切りの文字列です(空行は無視されます。最大10000文字) |
virtualHost | いいえ | 仮想ホスト(最大1000文字) |
注釈
crudMode はAPI側で自動的に設定されるため、リクエストボディに含める必要はありません。
レスポンス
{
"response": {
"version": "15.7.0",
"status": 0,
"id": "new_query_id",
"created": true
}
}
関連クエリ更新
リクエスト
PUT /api/admin/relatedquery/setting
Content-Type: application/json
リクエストボディ
{
"id": "existing_query_id",
"term": "search",
"queries": "search tutorial\nsearch syntax\nadvanced search\nsearch tips",
"virtualHost": "",
"versionNo": 1
}
フィールド説明
| フィールド | 必須 | 説明 |
|---|---|---|
id | はい | 更新対象の関連クエリID(最大1000文字) |
term | はい | 検索キーワード(最大10000文字) |
queries | はい | 関連クエリ。1行に1件を記述した改行区切りの文字列です(空行は無視されます。最大10000文字) |
virtualHost | いいえ | 仮想ホスト(最大1000文字) |
versionNo | はい | 楽観的ロック用のバージョン番号。取得時のレスポンスに含まれる値を指定します |
レスポンス
{
"response": {
"version": "15.7.0",
"status": 0,
"id": "existing_query_id",
"created": false
}
}
関連クエリ削除
リクエスト
DELETE /api/admin/relatedquery/setting/{id}
レスポンス
{
"response": {
"version": "15.7.0",
"status": 0
}
}
エラーレスポンス
リクエストが失敗した場合、status に 0 以外の値が設定され、message にエラー内容が 含まれます。たとえば、必須フィールドの不足などの検証エラーでは status が 1 になります。 ステータスコードの一覧は Admin API 概要 を参照してください。
{
"response": {
"version": "15.7.0",
"status": 1,
"message": "..."
}
}
使用例
製品関連のクエリ
curl -X POST "http://localhost:8080/api/admin/relatedquery/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"term": "product",
"queries": "product features\nproduct pricing\nproduct comparison\nproduct reviews"
}'
ヘルプ関連のクエリ
curl -X POST "http://localhost:8080/api/admin/relatedquery/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"term": "help",
"queries": "help center\nhelp documentation\nhelp contact support"
}'
参考情報
Admin API 概要 - Admin API概要
RelatedContent API - 関連コンテンツAPI
Suggest API - サジェスト管理API
関連クエリー - 関連クエリ管理ガイド