Skip to content

Commit

Permalink
[DOCS] Adds getting started content based on the template (#2239)
Browse files Browse the repository at this point in the history
Co-authored-by: Josh Mock <[email protected]>
  • Loading branch information
szabosteve and JoshMock authored Jul 4, 2023
1 parent 3183cb5 commit 30c119e
Show file tree
Hide file tree
Showing 4 changed files with 155 additions and 0 deletions.
153 changes: 153 additions & 0 deletions docs/guide/getting-started.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
[[getting-started-python]]
== Getting started

This page guides you through the installation process of the Python client,
shows you how to instantiate the client, and how to perform basic Elasticsearch
operations with it.

[discrete]
=== Requirements

* https://www.python.org/[Python] 3.6 or newer
* https://pip.pypa.io/en/stable/[`pip`], installed by default alongside Python

[discrete]
=== Installation

To install the latest version of the client, run the following command:

[source,shell]
--------------------------
python -m pip install elasticsearch
--------------------------

Refer to the <<installation>> page to learn more.


[discrete]
=== Connecting

You can connect to the Elastic Cloud using an API key and the Elasticsearch
endpoint.

[source,py]
----
from elasticsearch import Elasticsearch
client = Elasticsearch(
"https://...", # Elasticsearch endpoint
api_key=('api-key-id', 'api-key-secret'), # API key ID and secret
)
----

Your Elasticsearch endpoint can be found on the **My deployment** page of your
deployment:

image::images/es-endpoint.jpg[alt="Finding Elasticsearch endpoint",align="center"]

You can generate an API key on the **Management** page under Security.

image::images/create-api-key.png[alt="Create API key",align="center"]

For other connection options, refer to the <<connecting>> section.


[discrete]
=== Operations

Time to use Elasticsearch! This section walks you through the basic, and most
important, operations of Elasticsearch. For more operations and more advanced
examples, refer to the <<examples>> page.


[discrete]
==== Creating an index

This is how you create the `my_index` index:

[source,py]
----
client.indices.create(index="my_index")
----


[discrete]
==== Indexing documents

This is a simple way of indexing a document:

[source,py]
----
client.index(
index="my_index",
id="my_document_id",
document={
"foo": "foo",
"bar": "bar",
}
)
----


[discrete]
==== Getting documents

You can get documents by using the following code:

[source,py]
----
client.get(index="my_index", id="my_document_id")
----


[discrete]
==== Searching documents

This is how you can create a single match query with the Python client:

[source,py]
----
client.search(index="my_index", query={
"match": {
"foo": "foo"
}
})
----


[discrete]
==== Updating documents

This is how you can update a document, for example to add a new field:

[source,py]
----
client.update(index="my_index", id="my_document_id", doc={
"foo": "bar",
"new_field": "new value",
})
----


[discrete]
==== Deleting documents

[source,py]
----
client.delete(index="my_index", id="my_document_id")
----


[discrete]
==== Deleting an index

[source,py]
----
client.indices.delete(index="my_index")
----


[discrete]
== Further reading

* Use <<client-helpers>> for a more comfortable experience with the APIs.
Binary file added docs/guide/images/create-api-key.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/guide/images/es-endpoint.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions docs/guide/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ include::{asciidoc-dir}/../../shared/attributes.asciidoc[]

include::overview.asciidoc[]

include::getting-started.asciidoc[]

include::installation.asciidoc[]

include::connecting.asciidoc[]
Expand Down

0 comments on commit 30c119e

Please sign in to comment.