インデックス

インデックス

規模を考慮したことにより、メタデータテンプレートが1,000を超えるファイルまたはフォルダに適用されている場合、メタデータクエリによってHTTP 403エラーが返される可能性があります。検索インデックスを作成すると、特定の検索クエリでこのエラーを解決することができます。

メタデータインスタンスの数が1,000個を超えると、​use_index​パラメータに適切なインデックスが含まれていないメタデータクエリリクエストではエラーが発生します。このエラーは呼び出し元に対して、​use_index​パラメータの引数として適切なインデックスを指定するよう通知します。

Boxは、将来この制限を廃止するのではなく、引き上げる予定です。

インデックスのリクエスト

現時点では、検索インデックスを作成するには、Boxにお問い合わせいただく必要があります。カスタマーサクセスマネージャまたはBoxサポートチームにご連絡ください。

インデックスを作成するには、リクエストのfrom​​query​、および​order_by​パラメータに適した値を含め、実行されるクエリについてBoxに知らせる必要があります。

その後、インデックスが作成されると、その名前が提供されます。これは、クエリリクエストの​use_index​パラメータで使用する必要があります。

インデックスの名前を指定したい場合は、インデックスをリクエストする際にその名前をお知らせください。

インデックスリクエストの例

以下は、インデックスのリクエストの例です。​fromqueryおよびorder_by​パラメータに関するすべての情報を含める必要があります。

クエリの説明特定のアカウント番号に関連付けられ、ステータスが保留中になっている、「顧客による送信」というタイプのファイルを返します。応答は送信日で並べられます。
fromenterprise_123456.customerInfo
queryaccountNumber = :argAccountNum AND status = :argStatus
order_by[{ "field_key": "submissionDate","direction": "desc" }]

Query with an index

インデックスを使用してクエリを実行するには、クエリの実行時に提供されるインデックスの名前を、use_indexパラメータの値として使用します。

curl -X POST https://api.box.com/2.0/metadata_queries/execute_read \
     -H 'Authorization: Bearer <ACCESS_TOKEN>" '
     -H 'Content-Type: application/json'
     -d '{
       "from": "enterprise_123456.customerInfo",
       "query": "accountNumber = :argAccountNum AND status = :argStatus",
       "query_params": {
         "argAccountNum": 12345,
         "argStatus": "active"
       },
       "ancestor_folder_id": "5555",
       "use_index": "yourIndexName",
       "order_by": [
         {
           "field_key": "submissionDate",
           "direction": "desc"
         }
       ]
     }'

クエリで使用するパラメータは、インデックスの作成に指定されたものとまったく同じにする必要があります。