コンテンツにスキップ

ID検索

ID検索についてはIDLink APIの概要をご参照ください。

ID検索

指定したノードと紐づくノードが持つIDを取得します。 条件を指定した場合、指定した条件のものに絞り込みができます。

POST /v1/{customer_id}/_search

リクエストヘッダ

検索結果にsecure:trueの属性を持つIDを含める場合、認証が必要になります。 認証を含めなかった場合、secure:trueのIDは除外されます。

リクエストボディ

{
    "match": {
        "from": {
            "schema": "{SCHEMA}",
            "key": {
                "type": "{TYPE}",
                "id": "{ID}"
            },
            "where": {
                "type": "{TYPE}",
                "id": "{ID}"
            },
            "exclude":  bool
        },
        "step": "ONE" or "ALL",
        "having": {
            "type": "{TYPE}"
        },
    },
    "limit": "{LIMIT}"
}
キー名 タイプ 必須 説明
match.from OBJECT 必須 検索対象の起点となるノードの条件。
match.from.schema STRING - 検索対象の起点となるノードが所属しているスキーマID。
match.from.key OBJECT - 検索対象の起点となるノードを特定するためのIDタイプと値の組み合わせ。
match.from.key.type STRING - 検索対象の起点となるノードを特定するためのIDタイプ。スキーマのIDタイプと一致する必要があります。
match.from.key.id STRING - 検索対象の起点となるノードを特定するためのIDの値。
match.from.where OBJECT - 検索条件を指定します。検索条件にschemaやkeyがない場合でも、ノードに含まれるIDを指定する形で対象ノードを検索できます。
match.from.where.type STRING - 検索条件となるIDのタイプ。
match.from.where.id STRING - 検索条件となるIDの値。
match.from.exclude BOOL - trueにすると、起点となるノード自身を検索対象から除外します。デフォルトはfalse。
match.step STRING - 検索対象となるノードの範囲を指定できます。ONEにすると起点となるノードと直接紐づくノードのみになり、 ALLにすると起点となるノードと紐付く全てのノードを含めます。
match.having.type STRING - IDタイプを指定すると、検索結果をそのIDタイプのものに絞り込みます。
limit INTEGER - 検索結果の数を指定します。デフォルトは10000件。

Warning

match.from.schema + match.from.key か、 match.from.where のどちらかを必ず指定する必要があります。

リクエストサンプル

curl -X POST -H "Authorization: Bearer ${PopinfoToken}" https://${HostName}/v1/${CustomerId}/_search \
-d '{"match":{"from":{"schema":"popinfo_app","key":{"type":"popinfo_id","id":"00000000-0000-0000-0000-000000000000"},"where":{"type":"members_id","id":"user_001"},"exclude":true},"step":"ALL","having":{"type":"ad_id"}},"limit":10}'

レスポンスサンプル

HTTP/1.1 200
{
  "results": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "type": "popinfo_id"
    },
    {
      "id": "11111111-1111-1111-1111-111111111111",
      "type": "popinfo_id"
    },
    {
      "id": "user_008",
      "type": "member_id"
    },
    {
      "id": "22222222-2222-2222-2222-222222222222",
      "type": "popinfo_id"
    },
    {
      "id": "user_007",
      "type": "member_id"
    },
    {
      "id": "user_006",
      "type": "member_id"
    }
  ],
  "total": 6
}