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