サジェストAPI

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

リクエスト

HTTPメソッド GET
エンドポイント /api/v2/suggest-words

Fess に、 http://<Server Name>/api/v2/suggest-words?q=fes のようなリクエストを送ることで、入力したプレフィックスに対するサジェストワードの一覧をJSON形式で受け取ることができます。 サジェストワードAPIを利用するには、管理画面のシステム > 全般の設定で「ドキュメントでサジェスト」または「検索語でサジェスト」を有効にしておく必要があります。

レスポンスの共通エンベロープおよびエラーモデルについては APIの概要 を参照してください。

リクエストパラメーター

使用できるリクエストパラメーターは以下の通りです。

リクエストパラメーター
q サジェストを行う検索語(プレフィックス)。 (例) q=fes
num サジェストされる単語の数(0以上の整数)。デフォルト 10 。 (例) num=20
fn サジェスト対象を絞り込むフィールド名。繰り返し指定することで配列として扱われます。 (例) fn=content&fn=title
lang 検索言語の指定。繰り返し指定することで配列として扱われます。 (例) lang=en
label フィルターするラベル名。繰り返し指定することで配列として扱われます。 (例) label=java

注釈

v2 では、フィールド名の指定は fn パラメーターです(v1 の fields ではありません)。 また、ラベルの指定は label パラメーターです(v1 の labels パラメーターとは異なります)。

レスポンス

成功時には、以下のような共通エンベロープ形式のレスポンスが返ります。

{
  "response": {
    "status": 0,
    "q": "fes",
    "page_size": 10,
    "record_count": 355,
    "query_time": 18,
    "suggest_words": [
      {
        "text": "fess",
        "types": [
          "document",
          "query"
        ]
      }
    ]
  }
}

response の各要素については以下の通りです。

レスポンス情報
q リクエストされた検索語(文字列)。
page_size ページサイズ(整数)。
record_count サジェストワードの該当件数(64ビット整数)。
query_time クエリ処理時間。単位はミリ秒(64ビット整数)。
suggest_words サジェストワードの配列。各要素は texttypes を持ちます。
text サジェストワード(文字列)。
types サジェストワードの種別の配列(文字列の配列)。

注釈

v2 では、サジェスト項目のフィールドは texttypes です(v1 の labels ではありません)。

使用例

curlコマンドでのリクエスト例:

curl "http://localhost:8080/api/v2/suggest-words?q=fes"

エラーレスポンス

サジェストAPIが失敗した場合、共通のエラーエンベロープが返されます。エラーモデルの詳細は APIの概要 を参照してください。

エラーレスポンス
ステータスコード 説明
405 Method Not Allowed サポートされていない HTTP メソッドが指定された場合。
500 Internal Server Error サーバー内部エラーが発生した場合。