ステップ 2: インデックス作成のためにデータを Amazon ESドメインにアップロードする - Amazon Elasticsearch Service

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

ステップ 2: インデックス作成のためにデータを Amazon ESドメインにアップロードする

重要

このプロセスは、少量のテストデータをアップロードするための簡潔なチュートリアルです。詳細については、Amazon Elasticsearch Service でのデータのインデックス作成 を参照してください。

コマンドラインまたはほとんどのプログラミング言語を使用して、Amazon Elasticsearch Service ドメインにデータをアップロードできます。

次の例のリクエストでは、簡潔にするため、および便宜上、一般的な HTTP クライアントである curl を使用しています。curl などのクライアントは、アクセスポリシーが IAM ユーザーあるいはロールを指定している場合に、必要なリクエスト署名を実行できません。このステップの手順を正常に実行するには、 ステップ 1 で設定したように、マスターユーザー名とパスワードを使用してきめ細かなアクセス制御を使用する必要があります。

Windows に curl をインストールしてコマンドプロンプトから使用できますが、Cygwin や Windows Subsystem for Linux などのツールをお勧めしますmacOSおよびほとんどの Linux ディストリビューションには curl がプリインストールされています。

単一のドキュメントを Amazon ES ドメインにアップロードするには

  • 単一のドキュメントを movies ドメインに追加するには、次のコマンドを実行します。

    curl -XPUT -u master-user:master-user-password domain-endpoint/movies/_doc/1 -d '{"director": "Burton, Tim", "genre": ["Comedy","Sci-Fi"], "year": 1996, "actor": ["Jack Nicholson","Pierce Brosnan","Sarah Jessica Parker"], "title": "Mars Attacks!"}' -H 'Content-Type: application/json'

このコマンドの詳細および Amazon ES への署名付きリクエストを作成する方法の詳細については、「Amazon Elasticsearch Service でのデータのインデックス作成」を参照してください。

複数のドキュメントを含む JSON ファイルを Amazon ES ドメインにアップロードするには

  1. という名前のファイルを作成しますbulk_movies.json。 次のコンテンツをコピーしてそこに貼り付け、末尾の改行を追加します。

    { "index" : { "_index": "movies", "_id" : "2" } } {"director": "Frankenheimer, John", "genre": ["Drama", "Mystery", "Thriller", "Crime"], "year": 1962, "actor": ["Lansbury, Angela", "Sinatra, Frank", "Leigh, Janet", "Harvey, Laurence", "Silva, Henry", "Frees, Paul", "Gregory, James", "Bissell, Whit", "McGiver, John", "Parrish, Leslie", "Edwards, James", "Flowers, Bess", "Dhiegh, Khigh", "Payne, Julie", "Kleeb, Helen", "Gray, Joe", "Nalder, Reggie", "Stevens, Bert", "Masters, Michael", "Lowell, Tom"], "title": "The Manchurian Candidate"} { "index" : { "_index": "movies", "_id" : "3" } } {"director": "Baird, Stuart", "genre": ["Action", "Crime", "Thriller"], "year": 1998, "actor": ["Downey Jr., Robert", "Jones, Tommy Lee", "Snipes, Wesley", "Pantoliano, Joe", "Jacob, Ir\u00e8ne", "Nelligan, Kate", "Roebuck, Daniel", "Malahide, Patrick", "Richardson, LaTanya", "Wood, Tom", "Kosik, Thomas", "Stellate, Nick", "Minkoff, Robert", "Brown, Spitfire", "Foster, Reese", "Spielbauer, Bruce", "Mukherji, Kevin", "Cray, Ed", "Fordham, David", "Jett, Charlie"], "title": "U.S. Marshals"} { "index" : { "_index": "movies", "_id" : "4" } } {"director": "Ray, Nicholas", "genre": ["Drama", "Romance"], "year": 1955, "actor": ["Hopper, Dennis", "Wood, Natalie", "Dean, James", "Mineo, Sal", "Backus, Jim", "Platt, Edward", "Ray, Nicholas", "Hopper, William", "Allen, Corey", "Birch, Paul", "Hudson, Rochelle", "Doran, Ann", "Hicks, Chuck", "Leigh, Nelson", "Williams, Robert", "Wessel, Dick", "Bryar, Paul", "Sessions, Almira", "McMahon, David", "Peters Jr., House"], "title": "Rebel Without a Cause"}
  2. このファイルを movies ドメインにアップロードするには、次のコマンドを実行します。

    curl -XPOST -u master-user:master-user-password domain-endpoint/_bulk --data-binary @bulk_movies.json -H 'Content-Type: application/json'

bulk ファイルの形式については、「Amazon Elasticsearch Service でのデータのインデックス作成」を参照してください。