Amazon CloudSearch
開発者ガイド (API バージョン 2013-01-01)

Amazon CloudSearch 向けドキュメントサービス API リファレンス

Amazon CloudSearch ドメインのドキュメントを追加、置換、削除するには、ドキュメントサービス API を使用します。検索ドメインのドキュメント管理の詳細については、「ドキュメントをアップロードする」を参照してください。

Amazon CloudSearch を操作するために使用するその他の API は次のとおりです。

Amazon CloudSearch でのドキュメントサービスリクエストの送信

重要

Amazon CloudSearch ドメインにデータをアップロードする前に、以下のガイドラインに従います。

  • アップロードする前にドキュメントをバッチにグループ化します。1 つのドキュメントのみで構成されるバッチを継続してアップロードすると、Amazon CloudSearch が更新を処理する速度に対して非常に大きな悪影響があります。その代わり、できるだけ制限に近いバッチを作成し、より短い頻度でアップロードします。最大サイズバッチおよびアップロードの頻度の詳細については、「Amazon CloudSearch の制限の概要」を参照してください。

  • ドメインのドキュメントエンドポイントと検索エンドポイントは、ドメインが存在している間変わりません。すべてのアップロードリクエストや検索リクエストの前にエンドポイントを取得するのではなく、エンドポイントをキャッシュに保存してください。各リクエストの前に aws cloudsearch describe-domains または DescribeDomains を呼び出すことによって Amazon CloudSearch 設定サービスにクエリを実行すると、リクエストが調整される可能性があります。

AWS SDK または AWS CLI のいずれか 1 つを使用して、ドキュメントのアップロードリクエストを送信することをお勧めします。SDK と AWS CLI は、リクエスト署名を自動的に処理し、すべての Amazon CloudSearch アクションを簡単に実行できる方法を提供します。また、個々のバッチをアップロードして、DynamoDB または S3 からデータをインポートするときにも、Amazon CloudSearch コンソールを使用できます。

たとえば、次のリクエストは、AWS CLI を使用してバッチをアップロードします。

aws cloudsearchdomain --endpoint-url http://doc-movies-y6gelr4lv3jeu4rvoelunxsl2e.us-east-1.cloudsearch.amazonaws.com upload-documents --content-type application/json --documents movie-data-2013.json

開発とテストの目的で、ドメインのドキュメントサービスへの匿名アクセスを許可し、未署名の HTTP POST リクエストを直接ドメインのドキュメント サービスに送信することができます。本番環境では、ドメインへのアクセスを特定の IAM ユーザー、グループ、ロールに制限し、署名付きリクエストを送信します。Amazon CloudSearch へのアクセスの制御方法については、「アクセスポリシーの設定」を参照してください。リクエスト署名の詳細については、「AWS API リクエストのサインアップ」を参照してください。

たとえば、次の POST リクエストは、JSON 形式のドメインのバッチをドメインエンドポイント doc-movies-123456789012.us-east-1.cloudsearch.amazonaws.com にアップロードします。

curl -X POST --upload-file data1.json doc-movies-123456789012.us-east-1.cloudsearch.amazonaws.com/2013-01-01/documents/batch --header "Content-Type: application/json"