|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 | ドキュメントの更新日時。 |
表: レスポンス情報
http://localhost:8080/json/?type=popularword
のように type
パラメータに値を与えることで、検索以外のAPIも利用できます。
type
パラメータに設定できる値は以下の通りです。
search | 検索API。 type パラメータに何も指定しない場合と同じ挙動です。 |
popularword | 人気ワードが返されます。利用するには管理画面のシステム 全般の設定でJSONレスポンスを有効にしておく必要があります。 |
label | 作成済みのラベルのリストが返されます。 |
ping | サーバーの状態が返されます。 |
表: APIの種類