SQL Search 用 REST インタフェース
ここでは、InterSystems SQL Search 用の REST インタフェースについて説明します。
SQL Search 用 REST 構文
SQL Search には、SQL Search インデックス作成結果にアクセスするための REST API が用意されています。
エンドポイント構文は "/table/:TableName/search" です。TableName は、1 つ以上の SQL Search インデックスが含まれるテーブルです。
アクセス・パスのサンプルとしては、http://localhost:443/api/iKnow/v1/user/table/iFind.Table/search のようになります。
エンドポイントへのアクセスには、"POST" を使用する必要があります。要求の本文に、JSON オブジェクトとして検索パラメータを入れることができます。
検索パラメータ
サポートされるパラメータは以下のとおりです。
{ "query":"string", "index":"string", "option": 0, "distance": "string", "language":"string", "includeText": 0, "columns": ["string"], "highlightSpec": { "tag": "<b>", "limit": 0, "name": "Highlighted" }, "rankSpec": { "name": "Rank" } }
"query" は、SQL Search クエリを指定します。
"index" は、検索する SQL Search インデックスを指定します。インデックスを指定しないと、SQL Search では最初に見つかったインデックスが使用されます。
"option" は、実施する検索タイプを指定する整数です。使用可能な値には、0 (構文検索)、1 (語幹解析による構文検索)、2 (複合語分解と語幹解析による構文検索)、3 (ファジー検索による構文検索)、4 (正規表現による構文検索) があります。
"language" は、テキストの言語を指定する 2 文字の文字列を指定します。例えば、"en" は英語を指定します。
"includeText" と "columns" は、返す列を指定します。"includeText" に 1 を指定した場合、SQL Search インデックスの付いたフィールドが返されます。"columns" は、JSON 配列の文字列として他の列名を指定するために使用できます。
"highlightSpec {name}" は、ハイライト表示の列に列エイリアス名を指定します。
"rankSpec {name}" は、ランク表示の列に列エイリアス名を指定します。
返される結果の形式は、JSON オブジェクトです。返される行は、以下の "rows" JSON 配列の形式になります。{ "rows":[{},{},{}] }