コンテンツにスキップ

ID検索

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

POST /v1/{CUSTOMER_ID}/_search

リクエストヘッダ

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

コンテンツタイプ

  • Content-Type: application/json

リクエストボディ

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

Warning

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

リクエストサンプル

curl -X POST -H "Authorization: Bearer {AUTH_TOKEN}" -H "Content-type: application/json" https://{HOST_NAME}/v1/{CUSTOMER_ID}/_search \
-d '{"match":{"from":{"schema":"member_app","key":{"type":"member_id","id":"user_001"},"where":{"type":"popinfo_id","id":"33333333-3333-3333-3333-333333333333"},"exclude":false},"step":"ALL"},"limit":10}'

レスポンスサンプル

検索結果は以下の更新日時をもとに昇順で表示されます。

なお、同一更新日時の場合順不同で表示されます。

紐付け状況

紐付け状況が上記の場合、以下で返却されます。 なお、user_00166666666-6666-6666-6666-666666666666は同じ紐付け更新日時を参照しているため、この2つに関しては順不同となります。

HTTP/1.1 200
{
  "results": [
    {
      "id": "11111111-1111-1111-1111-111111111111",
      "type": "popinfo_id"
    },
    {
      "id": "22222222-2222-2222-2222-222222222222",
      "type": "popinfo_id"
    },
    {
      "id": "33333333-3333-3333-3333-333333333333",
      "type": "popinfo_id"
    },
    {
      "id": "44444444-4444-4444-4444-444444444444",
      "type": "popinfo_id"
    },
    {
      "id": "55555555-5555-5555-5555-555555555555",
      "type": "popinfo_id"
    },
    {
      "id": "user_001",
      "type": "member_id"
    },
    {
      "id": "66666666-6666-6666-6666-666666666666",
      "type": "popinfo_id"
    },
    {
      "id": "77777777-7777-7777-7777-777777777777",
      "type": "popinfo_id"
    },
    {
      "id": "88888888-8888-8888-8888-888888888888",
      "type": "popinfo_id"
    },
  ],
  "total": 9
}