Quick Search API

全文検索

全文検索を行う。Ajaxからの呼び出し可能。
※Basic認証は、全文検索(アクセス権限)を使用してください。

URI

https://www.quick-solution.com/search/<コンテンツキー>/search

X-FTS-Cursor: <cursor(カーソル)>

Method

GET

Parameters

Name Located in Schema Sample Required Description
query_string query string ペンギン * 検索キーワードを設定
tags query [string] 鳥類 タグで絞り込む場合に設定
limit query integer 20 1ページの上限数を設定(ページ分割)
property query [string] height プロパティ(メタタグ検索)
sort query [string] height:asc ソートキー(メタタグ検索)
current query geopoint 35.000 137.000 起点(位置情報検索)

Response

Content-Type: application/json

{
    "code": "0000",
    "results": [
        {
            "doc_id": `文書ID`,
            "title": `タイトル`,
            "url": `URL`,
            "image": `画像URL`,
            "content": `コンテンツ`
            "groups": [`グループ`],
            "tags": [`タグ`],
            "properties": {
                `プロパティ名`: `値または配列`
            },
            "created": `公開開始日(ISO8601形式)`,
            "deleted": `公開終了日(ISO8601形式)`
        }
    ],
    "facets": [
        {
            "name": `プロパティ名`,
            "values": [
                {
                    "label": `値または範囲`,
                    "count": `件数`
                }
            ]
        }
    ],
    "number_found": `全ヒット数`,
    "cursor": `カーソル`,
    "message": ""
}

全文検索(アクセス権限)

アクセス制限に対応した全文検索を行う。Ajaxからの呼び出し不可。

URI

https://www.quick-solution.com/content/<コンテンツキー>/index

X-FTS-API-Key: <API秘密鍵>
X-FTS-Cursor: <cursor(カーソル)>

Method

GET

Parameters

Name Located in Schema Sample Required Description
query_string query string ペンギン * 検索キーワードを設定
tags query [string] 鳥類 タグで絞り込む場合に設定
user query string 山田 アクセス制限している場合、ユーザーを設定
groups query [string] 営業 アクセス制限している場合、所属グループを設定。Basic認証の場合は、“basic_auth”(固定値)を設定
limit query integer 20 ページの上限数を設定(ページ分割)
datetime query string 2015–05–31T12:00:00+09:00 日時を指定して検索をする場合に設定(検証用)ISO8601形式
property query [string] hight プロパティ(メタタグ検索)
sort query [string] hight:asc ソートキー(メタタグ検索)
current query geopoint 35.000 137.000 起点(位置情報検索)

Response

Content-Type: application/json

{
    "code": "0000",
    "results": [
        {
            "doc_id": `文書ID`,
            "title": `タイトル`,
            "url": `URL`,
            "image": `画像URL`,
            "content": `コンテンツ`
            "groups": [`グループ`],
            "tags": [`タグ`],
            "properties": {
                `プロパティ名`: `値または配列`
            },
            "created": `公開開始日(ISO8601形式)`,
            "deleted": `公開終了日(ISO8601形式)`
        }
    ],
    "facets": [
        {
            "name": `プロパティ名`,
            "values": [
                {
                    "label": `値または範囲`,
                    "count": `件数`
                }
            ]
        }
    ],
    "number_found": `全ヒット数`,
    "cursor": `カーソル`,
    "message": ""
}

インデックス登録(サイトマップ)

管理画面にて登録済みのサイトマップから、インデックスの一括登録を行う。
※OGP画像が指定されている場合、画像URLを自動設定する。

URI

https://www.quick-solution.com/content/<コンテンツキー>/index

X-FTS-API-Key: <API秘密鍵>

Method

POST

Parameters

なし

Response

Content-Type: application/json

{
    "code": "0000",
    "message": ""
}

インデックス登録(JSON)

JSONデータから、インデックスの一括登録を行う。

URI

https://www.quick-solution.com/content/<コンテンツキー>/index

X-FTS-API-Key: <API秘密鍵>

Method

PUT

Parameters

Name Located in Schema Sample Required Description
body json * JSONフォーマット参照

JSONフォーマット

Content-Type: application/json

[
    {
        "method": "create",
        "title": `タイトル`,
        "url": `URL`,
        "image": `画像URL`,
        "content": `コンテンツ`
        "owner": `ユーザー`
        "groups": [`グループ`],
        "tags": [`タグ`],
        "rank": `ランク`,
        "created": `公開開始日(ISO8601形式)`,
        "deleted": `公開終了日(ISO8601形式)`
    }
]

Response

Content-Type: application/json

{
    "code": "0000",
    "message": ""
}

インデックス削除

インデックスの削除を行う。

URI

https://www.quick-solution.com/content/<コンテンツキー>/index/<文書ID>

X-FTS-API-Key: <API秘密鍵>

Method

DELETE

Parameters

Name Located in Schema Sample Required Description
document_id path string 12345 * 文書IDを設定。全削除の場合、“ALL”を設定

Response

Content-Type: application/json

{
    "code": "0000",
    "message": ""
}

エラーメッセージ

Code Message   Description
5000 Create Content Error コンテンツ追加でエラーが発生しました。
5100 Update Content Error コンテンツ更新でエラーが発生しました。
6000 A issue request is in progress. Please wait until it is completed and try again. リクエスト処理中です。しばらくたってから、もう一度お試しください。
7100 search query error 検索クエリでエラーが発生しました。
7300 invalid format for cursor カーソルの書式に誤りがあります。
9100 Invalid Content Key コンテンツキーに誤りがあります。
9200 Invalid Api Key API秘密鍵に誤りがあります。
9300 Invalid Mail Address メールアドレスに誤りがあります。
9400 Api Key is required API秘密鍵が設定されていません。
9500 Json is required JSONが設定されていません。
9600 Document id is required 文書IDが設定されていません。
9700 For improved security, please delete X-FTS-API-Key header. ヘッダー X-FTS-API-Key は不要です。削除してください。
9800 The max limit of searches has been exceeded. search is temporarily unavailable. 検索回数が最大値を超えました。検索は一時的に利用できません。
9900 Invalid Url URLに誤りがあります。

高度な検索(メタタグ検索)

検索インデックスに、本文テキストのほかに、各種プロパティを追加することで、高度な検索を実装することができます。

メタタグ(プロパティ)の種類

種類 記述方法 検索条件 ソート 備考
完全一致 qs:<name> AND OR 昇順 / 降順 ファセット情報
部分一致 qs:<name>:text AND OR 昇順 / 降順
数値 qs:<name>:number AND OR RANGE
< <= >= >
昇順 / 降順 ファセット情報
日付 qs:<name>:date AND OR < <= >= > 昇順 / 降順
位置情報 qs:<name>:geo 起点からの距離 距離の昇順

メタタグ(プロパティ)のサンプル

<meta name="qs:syurui" content="中古マンション">
<meta name="qs:todoufuken" content="東京都">
<meta name="qs:shikucyouson" content="千代田区">
<meta name="qs:chiku" content="九段北">
<meta name="qs:kakaku:number" content="14000000">
<meta name="qs:moyorieki" content="市ケ谷">
<meta name="qs:kyori_toho:number" content="2">
<meta name="qs:madori" content="1DK">
<meta name="qs:menseki:number" content="20.0">
<meta name="qs:chikunen:number" content="2003">
<meta name="qs:kodawari" content="角部屋">
<meta name="qs:kodawari" content="ペット可">
<meta name="qs:ichijoho:geo" content="35.0000 135.0000">

検索条件の種類

種類 記述方法 (name, value) 複数選択時 備考
AND name=“<name>” value=“値” 全ての条件
OR name=“<name>:or” value=“値” いづれかの条件
RANGE name=“<name>:range” value=“10,50” いづれかの条件 下限以上、上限未満
(カンマ区切り)
< name=“<name>:lt” value=“10” 不可 10未満
<= name=“<name>:le” value=“20” 不可 20以下
>= name=“<name>:ge” value=“30” 不可 30以上
> name=“<name>:gt” value=“40” 不可 40を超える
起点からの距離 name=“current” value=“35.0 137.0”
name=“<name>:geo” value=“1000”
不可 current から1Km以内

ソートの種類

種類 記述方法 (name, value)
昇順 name=“sort” value=“<name>:asc”
降順 name=“sort” value=“<name>:desc”
距離の昇順 name=“sort” value=“<name>:geo”

検索フォームのサンプル1

  1. インデックスに登録されているプロパティを返却したい場合、 propaty[] で指定してください。
  2. ファセット情報を利用する場合、プロパティの種類が数値の場合は、範囲を指定してください。
  3. 種類は OR 、価格は RANGE 、こだわりは AND 検索。
  4. 検索結果のソートは、価格の昇順。
<form method="get" class="qs" action="quick-search.html">
  <input type="hidden" name="content_key" value="################">
  <input type="text" name="query_string">

  <!-- プロパティを返却 -->
  <input type="hidden" name="property[]" value="syurui">
  <input type="hidden" name="property[]" value="todoufuken">
  <input type="hidden" name="property[]" value="shikucyouson">
  <input type="hidden" name="property[]" value="chiku">
  <input type="hidden" name="property[]" value="kakaku">
  <input type="hidden" name="property[]" value="moyorieki">
  <input type="hidden" name="property[]" value="kyori_toho">
  <input type="hidden" name="property[]" value="madori">
  <input type="hidden" name="property[]" value="menseki">
  <input type="hidden" name="property[]" value="chikunen">

  <!-- ファセット情報の範囲設定 -->
  <input type="hidden" name="kakaku:facet" value="0,10000000">
  <input type="hidden" name="kakaku:facet" value="10000000,50000000">
  <input type="hidden" name="kakaku:facet" value="50000000,999999999">

  <!-- OR検索 -->
  <input type="checkbox" name="syurui:or" value="中古マンション"> 中古マンション
  <input type="checkbox" name="syurui:or" value="新築マンション"> 新築マンション

  <!-- 範囲検索 -->
  <input type="checkbox" name="kakaku:range" value="0,10000000"> 〜1000万円未満
  <input type="checkbox" name="kakaku:range" value="10000000,50000000"> 1000万円以上
  <input type="checkbox" name="kakaku:range" value="50000000,999999999"> 5000万円以上

  <!-- AND検索 -->
  <input type="checkbox" name="kodawari" value="新築"> 新築
  <input type="checkbox" name="kodawari" value="角部屋"> 角部屋
  <input type="checkbox" name="kodawari" value="オートロック"> オートロック
  <input type="checkbox" name="kodawari" value="ペット可"> ペット可

  <!-- ソート -->
  <input type="hidden" name="sort" value="kakaku:asc">
  <button type="submit">検索</button>
</form>

検索フォームのサンプル2

  1. current から5Km以内の物件を検索。
  2. 位置情報は 起点からの距離検索。
  3. 検索結果のソートは、距離の昇順。
<form method="get" class="qs" action="quick-search.html">
  <input type="hidden" name="content_key" value="################">
  <input type="text" name="query_string">

  <!-- プロパティを返却 -->
  <input type="hidden" name="property[]" value="ichijoho">

  <!-- 起点からの距離検索 -->
  <input type="hidden" name="current" value="35.0 137.0">
  <input type="text" name="ichijoho:geo" value="5000">

  <!-- ソート -->
  <input type="hidden" name="sort" value="<name>:geo">
  <button type="submit">検索</button>
</form>