Suggest API

概要

Suggest APIは、Fess のサジェスト機能を管理するためのAPIです。 サジェストワードの追加、削除、更新などを操作できます。

ベースURL

/api/admin/suggest

エンドポイント一覧

メソッド パス 説明
GET/PUT /settings サジェストワード一覧取得
GET /setting/{id} サジェストワード取得
POST /setting サジェストワード作成
PUT /setting サジェストワード更新
DELETE /setting/{id} サジェストワード削除
DELETE /delete-all 全サジェストワード削除

サジェストワード一覧取得

リクエスト

GET /api/admin/suggest/settings
PUT /api/admin/suggest/settings

パラメーター

パラメーター 必須 説明
size Integer いいえ 1ページあたりの件数(デフォルト: 20)
page Integer いいえ ページ番号(0から開始)

レスポンス

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "suggest_id_1",
        "text": "fess",
        "reading": "フェス",
        "fields": ["title", "content"],
        "tags": ["product"],
        "roles": ["guest"],
        "lang": "ja",
        "score": 1.0
      }
    ],
    "total": 100
  }
}

サジェストワード取得

リクエスト

GET /api/admin/suggest/setting/{id}

レスポンス

{
  "response": {
    "status": 0,
    "setting": {
      "id": "suggest_id_1",
      "text": "fess",
      "reading": "フェス",
      "fields": ["title", "content"],
      "tags": ["product"],
      "roles": ["guest"],
      "lang": "ja",
      "score": 1.0
    }
  }
}

サジェストワード作成

リクエスト

POST /api/admin/suggest/setting
Content-Type: application/json

リクエストボディ

{
  "text": "search engine",
  "reading": "サーチエンジン",
  "fields": ["title"],
  "tags": ["feature"],
  "roles": ["guest"],
  "lang": "en",
  "score": 1.0
}

フィールド説明

フィールド 必須 説明
text はい サジェストテキスト
reading いいえ 読み仮名
fields いいえ 対象フィールド
tags いいえ タグ
roles いいえ アクセス許可ロール
lang いいえ 言語コード
score いいえ スコア(デフォルト: 1.0)

レスポンス

{
  "response": {
    "status": 0,
    "id": "new_suggest_id",
    "created": true
  }
}

サジェストワード更新

リクエスト

PUT /api/admin/suggest/setting
Content-Type: application/json

リクエストボディ

{
  "id": "existing_suggest_id",
  "text": "search engine",
  "reading": "サーチエンジン",
  "fields": ["title", "content"],
  "tags": ["feature", "popular"],
  "roles": ["guest"],
  "lang": "en",
  "score": 2.0,
  "versionNo": 1
}

レスポンス

{
  "response": {
    "status": 0,
    "id": "existing_suggest_id",
    "created": false
  }
}

サジェストワード削除

リクエスト

DELETE /api/admin/suggest/setting/{id}

レスポンス

{
  "response": {
    "status": 0,
    "id": "deleted_suggest_id",
    "created": false
  }
}

全サジェストワード削除

リクエスト

DELETE /api/admin/suggest/delete-all

レスポンス

{
  "response": {
    "status": 0,
    "count": 250
  }
}

使用例

人気キーワードの追加

curl -X POST "http://localhost:8080/api/admin/suggest/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "text": "getting started",
       "fields": ["title"],
       "tags": ["tutorial"],
       "roles": ["guest"],
       "lang": "en",
       "score": 5.0
     }'

サジェストの一括削除

# 全サジェストを削除
curl -X DELETE "http://localhost:8080/api/admin/suggest/delete-all" \
     -H "Authorization: Bearer YOUR_TOKEN"

参考情報