JSONによる検索結果

JSON応答による検索

Fess の検索結果をJSONにより出力することができます。JSONにより出力するためには管理画面のシステム 全般の設定でJSONレスポンスを有効にしておく必要があります。

リクエスト

JSONにより出力結果を得るためには http://localhost:8080/json/?q=検索語 のようなリクエストを送ります。リクエストパラメータについては以下の通りです。

q 検索語。URLエンコードして渡します。
start 開始する件数位置。0から始まります。
num 表示件数。デフォルトは20件です。100件まで表示できます。
fields.label ラベル値。ラベルを指定する場合に利用します。
callback JSONPを利用する場合のコールバック名。JSONPを利用しない場合は指定する必要はありません。

表: リクエストパラメータ

レスポンス

以下のようなレスポンスが返ります。

{
    "response": {
        "version": 10.0,
        "status":0,
        "q":"Fess",
        "exec_time":0.02,
        "query_time":14,
        "page_size":20,
        "page_number":1,
        "record_count":58,
        "page_count":3,
        "result": [
            {
            "filetype":"html",
            "created":"2016-02-22T06:05:32.312Z",
            "title":"Fess 10.0 \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8",
            "doc_id":"41e962e7e450453daf377063e2e99282",
            "url":"http:\u002F\u002Ffess.codelibs.org\u002Fja\u002Findex.html",
            "site":"fess.codelibs.org\u002Fja\u002Findex.html",
            "contentDescription":" Toggle navigation <strong>Fess<\u002Fstrong> 10.0 \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8...",
            "host":"fess.codelibs.org",
            "digest":" Toggle navigation Fess 10.0 \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8 \u76EE\u6B21...",
            "boost":"1.0",
            "mimetype":"text\u002Fhtml",
            "last_modified":"2016-02-20T09:25:36.000Z",
            "content_length":"16166",
            "urlLink":"http:\u002F\u002Ffess.codelibs.org\u002Fja\u002Findex.html",
            "timestamp":"2016-02-20T09:25:36.000Z"
            },
...
        ]
    }
}

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

response ルート要素。
version フォーマットバージョン。
status レスポンスのステータス。status値は、0:正常、1:検索エラー、2または3:リクエストパラメータエラー、9:サービス停止中、-1:API種別エラーです。
q 検索語。
exec_time 応答時間。単位は秒。
query_time クエリ処理時間。単位はミリ秒。
page_size 表示件数。
page_number ページ番号。
record_count 検索語に対してヒットした件数。
page_count 検索語に対してヒットした件数のページ数。
result 検索結果の親要素。
filetype ファイルの種別。
created ドキュメントの生成日時。
title ドキュメントのタイトル。
doc_id ドキュメントのID。
url ドキュメントのURL。
site サイト名。
contentDescription コンテンツの説明。
host ホスト名。
digest ドキュメントのダイジェスト文字列。
boost ドキュメントのブースト値。
mimetype MIMEタイプ。
last_modified 最終更新日時。
content_length ドキュメントのサイズ。
urlLink 検索結果としてのURL。
timestamp ドキュメントの更新日時。

表: レスポンス情報

その他のJSON API

APIの種類

http://localhost:8080/json/?type=popularword のように type パラメータに値を与えることで、検索以外のAPIも利用できます。 type パラメータに設定できる値は以下の通りです。

search 検索API。 type パラメータに何も指定しない場合と同じ挙動です。
popularword 人気ワードが返されます。利用するには管理画面のシステム 全般の設定でJSONレスポンスを有効にしておく必要があります。
label 作成済みのラベルのリストが返されます。
ping サーバーの状態が返されます。

表: APIの種類