anchor.diff:    "query": { "match_all": {} },
     "sort": [
       { "account_number": "asc" }
  -  ]
  -}
  ---------------------------------------------------
  -// CONSOLE
  -// TEST[continued]
  -
  -The difference here is that instead of passing `q=*` in the URI, we provide a JSON-style query request body to the `_search` API. We'll discuss this JSON query in the next section.
  -
  -////
  -Hidden response just so we can assert that it is indeed the same but don't have
  -to clutter the docs with it:
  -
  -[source,js]
  ---------------------------------------------------
  -{
  -  "took" : 63,
  -  "timed_out" : false,
  -  "_shards" : {
  -    "total" : 5,
  -    "successful" : 5,
  -    "skipped" : 0,
  -    "failed" : 0
  -  },
  -  "hits" : {
  -    "total" : 1000,
  -    "max_score": null,
  -    "hits" : [ {
  -      "_index" : "bank",
  -      "_type" : "_doc",
  -      "_id" : "0",
  -      "sort": [0],
  -      "_score": null,
  -      "_source" : {"account_number":0,"balance":16623,"firstname":"Bradshaw","lastname":"Mckenzie","age":29,"gender":"F","address":"244 Columbus Place","employer":"Euron","email":"bradshawmckenzie@euron.com","city":"Hobucken","state":"CO"}
  -    }, {
  -      "_index" : "bank",
  -      "_type" : "_doc",
  -      "_id" : "1",
  -      "sort": [1],
  -      "_score": null,
  -      "_source" : {"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"}
  -    }, ...
  -    ]
  -  }
  -}
  ---------------------------------------------------
  -// TESTRESPONSE[s/"took" : 63/"took" : $body.took/]
  -// TESTRESPONSE[s/\.\.\./$body.hits.hits.2, $body.hits.hits.3, $body.hits.hits.4, $body.hits.hits.5, $body.hits.hits.6, $body.hits.hits.7, $body.hits.hits.8, $body.hits.hits.9/]
  -
  -////
  -
  -It is important to understand that once you get your search results back, Elasticsearch is completely done with the request and does not maintain any kind of server-side resources or open cursors into your results. This is in stark contrast to many other platforms such as SQL wherein you may initially get a partial subset of your query results up-front and then you have to continuously go back to the server if you want to fetch (or page through) the rest of the results using some kind of stateful server-side cursor.
  -
  -[float]
  -[[getting-started-query-lang]]
  -=== Introducing the Query Language
  -
  -Elasticsearch provides a JSON-style domain-specific language that you can use to execute queries. This is referred to as the {ref}/query-dsl.html[Query DSL]. The query language is quite comprehensive and can be intimidating at first glance but the best way to actually learn it is to start with a few basic examples.
  -
  -Going back to our last example, we executed this query:
  -
  -[source,js]
  ---------------------------------------------------
  -GET /bank/_search
  -{
  -  "query": { "match_all": {} }
  -}
  ---------------------------------------------------
  -// CONSOLE
  -// TEST[continued]
  -
  -Dissecting the above, the `query` part tells us what our query definition is and the `match_all` part is simply the type of query that we want to run. The `match_all` query is simply a search for all documents in the specified index.
  -
  -In addition to the `query` parameter, we also can pass other parameters to
  -influence the search results. In the example in the section above we passed in
  -`sort`, here we pass in `size`:
  -
  -[source,js]
  ---------------------------------------------------
  -GET /bank/_search
  -{
  -  "query": { "match_all": {} },
  -  "size": 1
  -}
  ---------------------------------------------------
  -// CONSOLE
  -// TEST[continued]
  -
  -Note that if `size` is not specified, it defaults to 10.
  -
  -This example does a `match_all` and returns documents 10 through 19:
  -
  -[source,js]
  ---------------------------------------------------
  -GET /bank/_search
  -{
  -  "query": { "match_all": {} },
  +  ],
     "from": 10,
     "size": 10
   }
  
positive.code: Need more context?
  
  Check out the <<elasticsearch-intro,
  Elasticsearch Introduction>> to learn the lingo and understand the basics of
  how {es} works. If you're already familiar with {es} and want to see how it works
  with the rest of the stack, you might want to jump to the
  {stack-gs}/get-started-elastic-stack.html[Elastic Stack
  
negative.code: 
  TIP: The fastest way to get started with {es} is to
  https://www.elastic.co/cloud/elasticsearch-service/signup[start a free 14-day
  trial of {ess}] in the cloud.
  --
  
  [[getting-started-install]]
  == Get {es} up and running
  
  To take {es} for a test drive, you can create a 
  https://www.elastic.co/cloud/elasticsearch-service/signup[hosted deployment]  on 
  the {ess} or set up a multi-node {es} cluster on your own
  Linux, macOS, or Windows machine.
  
  [float]
  [[run-elasticsearch-hosted]]
  === Run {es} on Elastic Cloud
  
  When you create a deployment on the {es} Service, the service provisions
  a three-node {es} cluster along with Kibana and APM.
  
  To create a deployment:
  
  . Sign up for a https://www.elastic.co/cloud/elasticsearch-service/signup[free trial] 
  and verify your email address.
  . Set a password for your account.
  . Click **Create Deployment**.
  
  Once you've created a deployment, you're ready to <<getting-started-index>>.
  
  [float]
  [[run-elasticsearch-local]]
  === Run {es} locally on Linux, macOS, or Windows
  
  When you create a deployment on the {ess}, a master node and
  two data nodes are provisioned automatically. By installing from the tar or zip 
  archive, you can start multiple instances of {es} locally to see how a multi-node 
  cluster behaves.
  
  To run a three-node {es} cluster locally:
  
  . Download the {es} archive for your OS:
  +
  Linux: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}-linux-x86_64.tar.gz[elasticsearch-{version}-linux-x86_64.tar.gz]
  +
  