diff --git a/docs/sphinx/quickstart.rst b/docs/sphinx/quickstart.rst index 68a1c52ba..51938e921 100644 --- a/docs/sphinx/quickstart.rst +++ b/docs/sphinx/quickstart.rst @@ -41,6 +41,11 @@ You can generate an API key on the **Management** page under Security. .. image:: ../guide/images/create-api-key.png +Confirm that the connection was successful. + +.. code-block:: python + + print(client.info()) Using the client ---------------- @@ -49,16 +54,30 @@ Time to use Elasticsearch! This section walks you through the most important operations of Elasticsearch. The following examples assume that the Python client was instantiated as above. +Create an index with mappings +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Creating an index -^^^^^^^^^^^^^^^^^ - -This is how you create the `my_index` index: +This is how you create the `my_index` index. +Optionally, you can first define the expected types of your features with a custom mapping. .. code-block:: python - client.indices.create(index="my_index") - + mappings = { + "properties": { + "foo": {"type": "text"}, + "bar": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256, + } + }, + }, + } + } + + client.indices.create(index="my_index", mappings=mappings) Indexing documents ^^^^^^^^^^^^^^^^^^ @@ -76,6 +95,23 @@ This indexes a document with the index API: }, ) +You can also index multiple documents at once with the bulk helper function: + +.. code-block:: python + + from elasticsearch import helpers + + def generate_docs(): + for i in range(10): + yield { + "_index": "my_index", + "foo": f"foo {i}", + "bar": "bar", + } + + helpers.bulk(client, generate_docs()) + +These helpers are the recommended way to perform bulk ingestion. While it is also possible to perform bulk ingestion using ``client.bulk`` directly, the helpers handle retries, ingesting chunk by chunk and more. See the :ref:`helpers` page for more details. Getting documents ^^^^^^^^^^^^^^^^^