ElevateWord API

概要

ElevateWord APIは、Fess のエレベートワード(特定キーワードでの検索順位操作)を管理するためのAPIです。 特定の検索クエリに対して、特定のドキュメントを上位または下位に配置できます。

ベースURL

/api/admin/elevateword

エンドポイント一覧

メソッド パス 説明
GET /settings エレベートワード一覧取得
GET /setting/{id} エレベートワード取得
POST /setting エレベートワード作成
PUT /setting エレベートワード更新
DELETE /setting/{id} エレベートワード削除
PUT /upload エレベートワードCSVアップロード
GET /download エレベートワードCSVダウンロード

エレベートワード一覧取得

リクエスト

GET /api/admin/elevateword/settings

パラメーター

パラメーター 必須 説明
size Integer いいえ 1ページあたりの件数(デフォルト: 20)
page Integer いいえ ページ番号(1から開始、デフォルト: 1)
id String いいえ エレベートワードIDによる完全一致フィルタ

レスポンス

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "elevate_id_1",
        "suggestWord": "fess",
        "reading": "フェス",
        "permissions": "{role}guest",
        "boost": 100.0,
        "labelTypeIds": []
      }
    ],
    "total": 5
  }
}

エレベートワード取得

リクエスト

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

レスポンス

{
  "response": {
    "status": 0,
    "setting": {
      "id": "elevate_id_1",
      "suggestWord": "fess",
      "reading": "フェス",
      "permissions": "{role}guest",
      "boost": 100.0,
      "labelTypeIds": []
    }
  }
}

エレベートワード作成

リクエスト

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

リクエストボディ

{
  "suggestWord": "documentation",
  "reading": "ドキュメンテーション",
  "permissions": "{role}guest",
  "boost": 100.0,
  "labelTypeIds": ["label1"]
}

フィールド説明

レスポンス

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

エレベートワード更新

リクエスト

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

リクエストボディ

{
  "id": "existing_elevate_id",
  "suggestWord": "documentation",
  "reading": "ドキュメンテーション",
  "permissions": "{role}guest\n{role}user",
  "boost": 100.0,
  "labelTypeIds": ["label1"],
  "versionNo": 1
}

注釈

更新時は、作成時のフィールドに加えて以下のフィールドが必須です。

  • id - 更新対象のエレベートワードID

  • versionNo - 楽観的ロック用のバージョン番号。GET /setting/{id} で取得した値を指定します。

レスポンス

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

エレベートワード削除

リクエスト

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

レスポンス

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

エレベートワードCSVアップロード

CSVファイルからエレベートワードを一括登録します。ファイルは multipart/form-data で送信します。インポートはサーバー側で非同期に実行されます。

リクエスト

PUT /api/admin/elevateword/upload
Content-Type: multipart/form-data

パラメーター

パラメーター 必須 説明
elevateWordFile はい アップロードするエレベートワードCSVファイル

レスポンス

{
  "response": {
    "status": 0
  }
}

エレベートワードCSVダウンロード

登録済みのエレベートワードをCSVファイル(elevate.csv)としてダウンロードします。レスポンスは application/octet-stream のストリームです。

リクエスト

GET /api/admin/elevateword/download

使用例

製品名のエレベート

curl -X POST "http://localhost:8080/api/admin/elevateword/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "suggestWord": "Product X",
       "boost": 100.0,
       "permissions": "{role}guest"
     }'

特定ラベルへのエレベート

curl -X POST "http://localhost:8080/api/admin/elevateword/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "suggestWord": "API reference",
       "boost": 100.0,
       "labelTypeIds": ["technical_docs"],
       "permissions": "{role}guest"
     }'

CSVファイルのアップロード

curl -X PUT "http://localhost:8080/api/admin/elevateword/upload" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -F "elevateWordFile=@elevate.csv"

CSVファイルのダウンロード

curl -X GET "http://localhost:8080/api/admin/elevateword/download" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -o elevate.csv

参考情報