Upload data to Amazon OpenSearch Service for indexing
Important
This is a concise tutorial for uploading a small amount of test data to Amazon OpenSearch Service. For more about uploading data in a production domain, see Indexing data in Amazon OpenSearch Service.
You can upload data to an OpenSearch Service domain using the command line or most programming languages.
The following example requests use curl
You can install curl on Windows and use it from the command prompt, but we recommend a
tool like Cygwin
Option 1: Upload a single document
Run the following command to add a single document to the movies domain:
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'
In the command, provide the username and password that you created in Step 1.
For a detailed explanation of this command and how to make signed requests to OpenSearch Service, see Indexing data in Amazon OpenSearch Service.
Option 2: Upload multiple documents
To upload a JSON file that contains multiple documents to an OpenSearch Service domain
-
Create a local file called
bulk_movies.json
. Paste the following content into the file and add a trailing newline:{ "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"}
-
Run the following command in the local directory where the file is stored to upload it to the movies domain:
curl -XPOST -u '
master-user
:master-user-password
' 'domain-endpoint
/movies/_bulk' --data-binary @bulk_movies.json -H 'Content-Type: application/x-ndjson'
For more information about the bulk file format, see Indexing data in Amazon OpenSearch Service.
Next: Search documents