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の種類