検索結果の取得
Fess に、 http://<Server Name>/json/?q=検索語
のようなリクエストを送ることで、 Fess の検索結果をJSON形式で受け取ることができます。 検索APIを利用するには、管理画面のシステム > 全般の設定でJSONレスポンスを有効にしておく必要があります。
リクエストパラメータ
http://<Server Name>/json/?q=検索語&num=50&fields.label=fess
というようにリクエストパラメータを指定することで、より高度な検索を行うことができます。 使用できるリクエストパラメータは以下の通りです。
q | 検索語。URLエンコードして渡します。 |
start | 開始する件数位置。0から始まります。 |
num | 表示件数。デフォルトは20件です。100件まで表示できます。 |
fields.label | ラベル値。ラベルを指定する場合に利用します。 |
callback | JSONPを利用する場合のコールバック名。JSONPを利用しない場合は指定する必要はありません。 |
facet.field | ファセットフィールドの指定。 (例) facet.field=label |
facet.query | ファセットクエリの指定。 (例) facet.query=timestamp:[now/d-1d TO *] |
facet.size | 取得するファセットの最大件数の指定。facet.field が指定されているとき、有効です。 |
facet.minDocCount | 件数がこの値以上のファセットを取得します。 facet.field が指定されているとき、有効です。 |
geo.location.point | 緯度経度の指定。 (例)``geo.location.point=35.0,139.0`` |
geo.location.distance | 中心点からの距離の指定。 (例) geo.location.distance=10km |
表: リクエストパラメータ
レスポンス
以下のようなレスポンスが返ります。
{
"response": {
"version": 10.3,
"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.3 \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.3 \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8...",
"host":"fess.codelibs.org",
"digest":" Toggle navigation Fess 10.3 \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 | 検索語に対してヒットした件数のページ数。 |
facet_field | 与えられたファセットフィールドにヒットするドキュメントの情報。 (リクエストパラメータに facet.field が与えられた場合のみ) |
facet_query | 与えられたファセットクエリにヒットするドキュメントの数。 (リクエストパラメータに facet.query が与えられた場合のみ) |
geo_distance | クエリとして受け取った与えられた地理情報。(リクエストパラメータに geo.location.point , geo.location.distance が与えられた場合のみ) |
result | 検索結果の親要素。 |
filetype | ファイルの種別。 |
created | ドキュメントの生成日時。 |
title | ドキュメントのタイトル。 |
doc_id | ドキュメントのID。 |
url | ドキュメントのURL。 |
site | サイト名。 |
content_description | コンテンツの説明。 |
host | ホスト名。 |
digest | ドキュメントのダイジェスト文字列。 |
boost | ドキュメントのブースト値。 |
mimetype | MIMEタイプ。 |
last_modified | 最終更新日時。 |
content_length | ドキュメントのサイズ。 |
urlLink | 検索結果としてのURL。 |
timestamp | ドキュメントの更新日時。 |
表: レスポンス情報