You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2022/02/14 08:47:10 UTC

[airflow-site] branch add-documentation-2022-02-14 created (now 30201f0)

This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a change to branch add-documentation-2022-02-14
in repository https://gitbox.apache.org/repos/asf/airflow-site.git.


      at 30201f0  Add documentation for packages - 2022-02-14

This branch includes the following new commits:

     new 30201f0  Add documentation for packages - 2022-02-14

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[airflow-site] 01/01: Add documentation for packages - 2022-02-14

Posted by po...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch add-documentation-2022-02-14
in repository https://gitbox.apache.org/repos/asf/airflow-site.git

commit 30201f00e5adbc01c481a66c27567c93d1803305
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Mon Feb 14 09:46:57 2022 +0100

    Add documentation for packages - 2022-02-14
---
 .../2.2.0/.buildinfo                               |     4 +
 .../elasticsearch/hooks/elasticsearch/index.html   |   927 ++
 .../providers/elasticsearch/hooks/index.html       |   846 ++
 .../airflow/providers/elasticsearch/index.html     |   851 ++
 .../elasticsearch/log/es_task_handler/index.html   |  1015 ++
 .../airflow/providers/elasticsearch/log/index.html |   846 ++
 .../elasticsearch/hooks/elasticsearch.html         |   899 ++
 .../elasticsearch/log/es_task_handler.html         |  1192 ++
 .../2.2.0/_modules/index.html                      |   804 ++
 .../hooks/elasticsearch/index.rst.txt              |    63 +
 .../providers/elasticsearch/hooks/index.rst.txt    |    15 +
 .../airflow/providers/elasticsearch/index.rst.txt  |    16 +
 .../log/es_task_handler/index.rst.txt              |   123 +
 .../providers/elasticsearch/log/index.rst.txt      |    15 +
 .../2.2.0/_sources/commits.rst.txt                 |   224 +
 .../_sources/connections/elasticsearch.rst.txt     |    73 +
 .../2.2.0/_sources/index.rst.txt                   |    93 +
 .../installing-providers-from-sources.rst.txt      |    18 +
 .../2.2.0/_sources/logging/index.rst.txt           |   102 +
 .../2.2.0/_static/_gen/css/main-custom.min.css     |     1 +
 .../2.2.0/_static/_gen/css/main.min.css            |     7 +
 .../2.2.0/_static/_gen/js/docs.js                  |     1 +
 .../2.2.0/_static/basic.css                        |   906 ++
 .../2.2.0/_static/check-solid.svg                  |     4 +
 .../2.2.0/_static/clipboard.min.js                 |     7 +
 .../2.2.0/_static/copy-button.svg                  |     5 +
 .../2.2.0/_static/copybutton.css                   |    93 +
 .../2.2.0/_static/copybutton.js                    |   220 +
 .../2.2.0/_static/copybutton_funcs.js              |    58 +
 .../2.2.0/_static/doctools.js                      |   326 +
 .../2.2.0/_static/documentation_options.js         |    12 +
 .../2.2.0/_static/file.png                         |   Bin 0 -> 286 bytes
 .../2.2.0/_static/graphviz.css                     |    19 +
 .../2.2.0/_static/jquery-3.5.1.js                  | 10872 +++++++++++++++++++
 .../2.2.0/_static/jquery.js                        |     2 +
 .../2.2.0/_static/language_data.js                 |   297 +
 .../2.2.0/_static/minus.png                        |   Bin 0 -> 90 bytes
 .../2.2.0/_static/pin_32.png                       |   Bin 0 -> 1201 bytes
 .../2.2.0/_static/plus.png                         |   Bin 0 -> 90 bytes
 .../2.2.0/_static/pygments.css                     |    74 +
 .../2.2.0/_static/searchtools.js                   |   529 +
 .../2.2.0/_static/underscore-1.13.1.js             |  2042 ++++
 .../2.2.0/_static/underscore.js                    |     6 +
 .../2.2.0/commits.html                             |  1416 +++
 .../2.2.0/connections/elasticsearch.html           |   878 ++
 .../2.2.0/genindex.html                            |   995 ++
 .../2.2.0/index.html                               |  1097 ++
 .../2.2.0/installing-providers-from-sources.html   |   941 ++
 .../2.2.0/logging.html                             |     1 +
 .../2.2.0/logging/index.html                       |   905 ++
 .../2.2.0/objects.inv                              |   Bin 0 -> 801 bytes
 .../2.2.0/py-modindex.html                         |   847 ++
 .../2.2.0/search.html                              |   854 ++
 .../2.2.0/searchindex.js                           |     1 +
 .../stable.txt                                     |     2 +-
 .../6.4.0/.buildinfo                               |     4 +
 .../providers/google/ads/hooks/ads/index.html      |  1002 ++
 .../airflow/providers/google/ads/hooks/index.html  |   850 ++
 .../_api/airflow/providers/google/ads/index.html   |   859 ++
 .../providers/google/ads/operators/ads/index.html  |   927 ++
 .../providers/google/ads/operators/index.html      |   850 ++
 .../google/ads/transfers/ads_to_gcs/index.html     |   929 ++
 .../providers/google/ads/transfers/index.html      |   850 ++
 .../providers/google/cloud/hooks/automl/index.html |  1333 +++
 .../google/cloud/hooks/bigquery/index.html         |  2610 +++++
 .../google/cloud/hooks/bigquery_dts/index.html     |  1049 ++
 .../google/cloud/hooks/bigtable/index.html         |  1066 ++
 .../google/cloud/hooks/cloud_build/index.html      |  1207 ++
 .../google/cloud/hooks/cloud_composer/index.html   |  1053 ++
 .../cloud/hooks/cloud_memorystore/index.html       |  1371 +++
 .../google/cloud/hooks/cloud_sql/index.html        |  1558 +++
 .../cloud_storage_transfer_service/index.html      |  1698 +++
 .../google/cloud/hooks/compute/index.html          |  1187 ++
 .../google/cloud/hooks/compute_ssh/index.html      |   940 ++
 .../google/cloud/hooks/datacatalog/index.html      |  1517 +++
 .../google/cloud/hooks/dataflow/index.html         |  1413 +++
 .../google/cloud/hooks/datafusion/index.html       |  1206 ++
 .../google/cloud/hooks/dataprep/index.html         |   950 ++
 .../google/cloud/hooks/dataproc/index.html         |  1564 +++
 .../cloud/hooks/dataproc_metastore/index.html      |  1263 +++
 .../google/cloud/hooks/datastore/index.html        |  1176 ++
 .../providers/google/cloud/hooks/dlp/index.html    |  1802 +++
 .../google/cloud/hooks/functions/index.html        |  1046 ++
 .../providers/google/cloud/hooks/gcs/index.html    |  1515 +++
 .../providers/google/cloud/hooks/gdm/index.html    |   929 ++
 .../providers/google/cloud/hooks/index.html        |   901 ++
 .../providers/google/cloud/hooks/kms/index.html    |   969 ++
 .../cloud/hooks/kubernetes_engine/index.html       |  1056 ++
 .../google/cloud/hooks/life_sciences/index.html    |   954 ++
 .../google/cloud/hooks/mlengine/index.html         |  1163 ++
 .../google/cloud/hooks/natural_language/index.html |  1059 ++
 .../google/cloud/hooks/os_login/index.html         |   918 ++
 .../providers/google/cloud/hooks/pubsub/index.html |  1164 ++
 .../google/cloud/hooks/secret_manager/index.html   |   929 ++
 .../google/cloud/hooks/spanner/index.html          |  1109 ++
 .../google/cloud/hooks/speech_to_text/index.html   |   931 ++
 .../google/cloud/hooks/stackdriver/index.html      |  1147 ++
 .../providers/google/cloud/hooks/tasks/index.html  |  1278 +++
 .../google/cloud/hooks/text_to_speech/index.html   |   942 ++
 .../google/cloud/hooks/translate/index.html        |   943 ++
 .../cloud/hooks/vertex_ai/custom_job/index.html    |  2141 ++++
 .../cloud/hooks/vertex_ai/dataset/index.html       |  1124 ++
 .../google/cloud/hooks/vertex_ai/index.html        |   853 ++
 .../cloud/hooks/video_intelligence/index.html      |   940 ++
 .../providers/google/cloud/hooks/vision/index.html |  1205 ++
 .../google/cloud/hooks/workflows/index.html        |  1111 ++
 .../_api/airflow/providers/google/cloud/index.html |  1002 ++
 .../google/cloud/log/gcs_task_handler/index.html   |   941 ++
 .../airflow/providers/google/cloud/log/index.html  |   851 ++
 .../cloud/log/stackdriver_task_handler/index.html  |  1043 ++
 .../google/cloud/operators/automl/index.html       |  1697 +++
 .../google/cloud/operators/bigquery/index.html     |  2640 +++++
 .../google/cloud/operators/bigquery_dts/index.html |  1063 ++
 .../google/cloud/operators/bigtable/index.html     |  1286 +++
 .../google/cloud/operators/cloud_build/index.html  |  1617 +++
 .../cloud/operators/cloud_composer/index.html      |  1397 +++
 .../cloud/operators/cloud_memorystore/index.html   |  2018 ++++
 .../google/cloud/operators/cloud_sql/index.html    |  1524 +++
 .../cloud_storage_transfer_service/index.html      |  1585 +++
 .../google/cloud/operators/compute/index.html      |  1246 +++
 .../google/cloud/operators/datacatalog/index.html  |  2256 ++++
 .../google/cloud/operators/dataflow/index.html     |  1682 +++
 .../google/cloud/operators/datafusion/index.html   |  1472 +++
 .../google/cloud/operators/dataprep/index.html     |   996 ++
 .../google/cloud/operators/dataproc/index.html     |  2429 +++++
 .../cloud/operators/dataproc_metastore/index.html  |  1504 +++
 .../google/cloud/operators/datastore/index.html    |  1413 +++
 .../google/cloud/operators/dlp/index.html          |  2838 +++++
 .../google/cloud/operators/functions/index.html    |  1176 ++
 .../google/cloud/operators/gcs/index.html          |  1515 +++
 .../providers/google/cloud/operators/index.html    |   897 ++
 .../cloud/operators/kubernetes_engine/index.html   |  1112 ++
 .../cloud/operators/life_sciences/index.html       |   919 ++
 .../google/cloud/operators/mlengine/index.html     |  1761 +++
 .../cloud/operators/natural_language/index.html    |  1124 ++
 .../google/cloud/operators/pubsub/index.html       |  1490 +++
 .../google/cloud/operators/spanner/index.html      |  1254 +++
 .../cloud/operators/speech_to_text/index.html      |   926 ++
 .../google/cloud/operators/stackdriver/index.html  |  1613 +++
 .../google/cloud/operators/tasks/index.html        |  1731 +++
 .../cloud/operators/text_to_speech/index.html      |   930 ++
 .../google/cloud/operators/translate/index.html    |   938 ++
 .../cloud/operators/translate_speech/index.html    |   951 ++
 .../operators/vertex_ai/custom_job/index.html      |  2074 ++++
 .../cloud/operators/vertex_ai/dataset/index.html   |  1386 +++
 .../google/cloud/operators/vertex_ai/index.html    |   853 ++
 .../cloud/operators/video_intelligence/index.html  |  1065 ++
 .../google/cloud/operators/vision/index.html       |  2037 ++++
 .../google/cloud/operators/workflows/index.html    |  1350 +++
 .../providers/google/cloud/secrets/index.html      |   850 ++
 .../google/cloud/secrets/secret_manager/index.html |  1003 ++
 .../google/cloud/sensors/bigquery/index.html       |   985 ++
 .../google/cloud/sensors/bigquery_dts/index.html   |   928 ++
 .../google/cloud/sensors/bigtable/index.html       |   924 ++
 .../cloud_storage_transfer_service/index.html      |   921 ++
 .../google/cloud/sensors/dataflow/index.html       |  1109 ++
 .../google/cloud/sensors/datafusion/index.html     |   921 ++
 .../google/cloud/sensors/dataproc/index.html       |   923 ++
 .../providers/google/cloud/sensors/gcs/index.html  |  1183 ++
 .../providers/google/cloud/sensors/index.html      |   859 ++
 .../google/cloud/sensors/pubsub/index.html         |   967 ++
 .../google/cloud/sensors/workflows/index.html      |   911 ++
 .../google/cloud/transfers/adls_to_gcs/index.html  |   968 ++
 .../transfers/azure_fileshare_to_gcs/index.html    |   925 ++
 .../transfers/bigquery_to_bigquery/index.html      |   951 ++
 .../cloud/transfers/bigquery_to_gcs/index.html     |   946 ++
 .../cloud/transfers/bigquery_to_mssql/index.html   |   941 ++
 .../cloud/transfers/bigquery_to_mysql/index.html   |   940 ++
 .../cloud/transfers/cassandra_to_gcs/index.html    |  1105 ++
 .../cloud/transfers/facebook_ads_to_gcs/index.html |   968 ++
 .../cloud/transfers/gcs_to_bigquery/index.html     |  1012 ++
 .../google/cloud/transfers/gcs_to_gcs/index.html   |  1057 ++
 .../google/cloud/transfers/gcs_to_local/index.html |   940 ++
 .../google/cloud/transfers/gcs_to_sftp/index.html  |   986 ++
 .../cloud/transfers/gdrive_to_gcs/index.html       |   925 ++
 .../cloud/transfers/gdrive_to_local/index.html     |   919 ++
 .../providers/google/cloud/transfers/index.html    |   875 ++
 .../google/cloud/transfers/local_to_gcs/index.html |   924 ++
 .../google/cloud/transfers/mssql_to_gcs/index.html |   947 ++
 .../google/cloud/transfers/mysql_to_gcs/index.html |   948 ++
 .../cloud/transfers/oracle_to_gcs/index.html       |   946 ++
 .../cloud/transfers/postgres_to_gcs/index.html     |   924 ++
 .../cloud/transfers/presto_to_gcs/index.html       |   924 ++
 .../google/cloud/transfers/s3_to_gcs/index.html    |   968 ++
 .../cloud/transfers/salesforce_to_gcs/index.html   |   931 ++
 .../google/cloud/transfers/sftp_to_gcs/index.html  |   956 ++
 .../cloud/transfers/sheets_to_gcs/index.html       |   923 ++
 .../google/cloud/transfers/sql_to_gcs/index.html   |   987 ++
 .../google/cloud/transfers/trino_to_gcs/index.html |   924 ++
 .../cloud/triggers/cloud_composer/index.html       |   930 ++
 .../providers/google/cloud/triggers/index.html     |   850 ++
 .../cloud/utils/bigquery_get_data/index.html       |   874 ++
 .../cloud/utils/credentials_provider/index.html    |   999 ++
 .../google/cloud/utils/field_sanitizer/index.html  |   977 ++
 .../google/cloud/utils/field_validator/index.html  |  1068 ++
 .../google/cloud/utils/helpers/index.html          |   876 ++
 .../providers/google/cloud/utils/index.html        |   856 ++
 .../cloud/utils/mlengine_operator_utils/index.html |  1011 ++
 .../utils/mlengine_prediction_summary/index.html   |   969 ++
 .../common/auth_backend/google_openid/index.html   |   935 ++
 .../google/common/auth_backend/index.html          |   850 ++
 .../providers/google/common/consts/index.html      |   853 ++
 .../google/common/hooks/base_google/index.html     |  1240 +++
 .../google/common/hooks/discovery_api/index.html   |   944 ++
 .../providers/google/common/hooks/index.html       |   851 ++
 .../airflow/providers/google/common/index.html     |   869 ++
 .../common/utils/id_token_credentials/index.html   |   980 ++
 .../providers/google/common/utils/index.html       |   850 ++
 .../providers/google/config_templates/index.html   |   837 ++
 .../google/firebase/hooks/firestore/index.html     |   950 ++
 .../providers/google/firebase/hooks/index.html     |   850 ++
 .../airflow/providers/google/firebase/index.html   |   855 ++
 .../google/firebase/operators/firestore/index.html |   921 ++
 .../providers/google/firebase/operators/index.html |   850 ++
 .../providers/google/go_module_utils/index.html    |   906 ++
 .../6.4.0/_api/airflow/providers/google/index.html |  1129 ++
 .../providers/google/leveldb/hooks/index.html      |   850 ++
 .../google/leveldb/hooks/leveldb/index.html        |  1049 ++
 .../airflow/providers/google/leveldb/index.html    |   855 ++
 .../providers/google/leveldb/operators/index.html  |   850 ++
 .../google/leveldb/operators/leveldb/index.html    |   926 ++
 .../marketing_platform/hooks/analytics/index.html  |   991 ++
 .../hooks/campaign_manager/index.html              |  1068 ++
 .../hooks/display_video/index.html                 |  1045 ++
 .../google/marketing_platform/hooks/index.html     |   853 ++
 .../marketing_platform/hooks/search_ads/index.html |   925 ++
 .../providers/google/marketing_platform/index.html |   867 ++
 .../operators/analytics/index.html                 |  1203 ++
 .../operators/campaign_manager/index.html          |  1270 +++
 .../operators/display_video/index.html             |  1358 +++
 .../google/marketing_platform/operators/index.html |   853 ++
 .../operators/search_ads/index.html                |   995 ++
 .../sensors/campaign_manager/index.html            |   925 ++
 .../sensors/display_video/index.html               |   972 ++
 .../google/marketing_platform/sensors/index.html   |   852 ++
 .../sensors/search_ads/index.html                  |   923 ++
 .../google/suite/hooks/calendar/index.html         |   981 ++
 .../providers/google/suite/hooks/drive/index.html  |  1009 ++
 .../providers/google/suite/hooks/index.html        |   852 ++
 .../providers/google/suite/hooks/sheets/index.html |  1167 ++
 .../_api/airflow/providers/google/suite/index.html |   867 ++
 .../providers/google/suite/operators/index.html    |   850 ++
 .../google/suite/operators/sheets/index.html       |   918 ++
 .../google/suite/sensors/drive/index.html          |   921 ++
 .../providers/google/suite/sensors/index.html      |   850 ++
 .../suite/transfers/gcs_to_gdrive/index.html       |   966 ++
 .../suite/transfers/gcs_to_sheets/index.html       |   920 ++
 .../providers/google/suite/transfers/index.html    |   852 ++
 .../suite/transfers/sql_to_sheets/index.html       |   935 ++
 .../6.4.0/_modules/airflow/providers/google.html   |   844 ++
 .../airflow/providers/google/ads/hooks/ads.html    |  1072 ++
 .../providers/google/ads/operators/ads.html        |   922 ++
 .../providers/google/ads/transfers/ads_to_gcs.html |   938 ++
 .../providers/google/cloud/hooks/automl.html       |  1437 +++
 .../providers/google/cloud/hooks/bigquery.html     |  3737 +++++++
 .../providers/google/cloud/hooks/bigquery_dts.html |  1074 ++
 .../providers/google/cloud/hooks/bigtable.html     |  1114 ++
 .../providers/google/cloud/hooks/cloud_build.html  |  1370 +++
 .../google/cloud/hooks/cloud_composer.html         |  1082 ++
 .../google/cloud/hooks/cloud_memorystore.html      |  1699 +++
 .../providers/google/cloud/hooks/cloud_sql.html    |  1757 +++
 .../hooks/cloud_storage_transfer_service.html      |  1310 +++
 .../providers/google/cloud/hooks/compute.html      |  1211 +++
 .../providers/google/cloud/hooks/compute_ssh.html  |  1114 ++
 .../providers/google/cloud/hooks/datacatalog.html  |  1970 ++++
 .../providers/google/cloud/hooks/dataflow.html     |  1968 ++++
 .../providers/google/cloud/hooks/datafusion.html   |  1265 +++
 .../providers/google/cloud/hooks/dataprep.html     |   920 ++
 .../providers/google/cloud/hooks/dataproc.html     |  1914 ++++
 .../google/cloud/hooks/dataproc_metastore.html     |  1437 +++
 .../providers/google/cloud/hooks/datastore.html    |  1169 ++
 .../airflow/providers/google/cloud/hooks/dlp.html  |  2266 ++++
 .../providers/google/cloud/hooks/functions.html    |  1046 ++
 .../airflow/providers/google/cloud/hooks/gcs.html  |  1981 ++++
 .../airflow/providers/google/cloud/hooks/gdm.html  |   912 ++
 .../airflow/providers/google/cloud/hooks/kms.html  |   969 ++
 .../google/cloud/hooks/kubernetes_engine.html      |  1080 ++
 .../google/cloud/hooks/life_sciences.html          |   958 ++
 .../providers/google/cloud/hooks/mlengine.html     |  1304 +++
 .../google/cloud/hooks/natural_language.html       |  1063 ++
 .../providers/google/cloud/hooks/os_login.html     |   905 ++
 .../providers/google/cloud/hooks/pubsub.html       |  1378 +++
 .../google/cloud/hooks/secret_manager.html         |   891 ++
 .../providers/google/cloud/hooks/spanner.html      |  1172 ++
 .../google/cloud/hooks/speech_to_text.html         |   901 ++
 .../providers/google/cloud/hooks/stackdriver.html  |  1385 +++
 .../providers/google/cloud/hooks/tasks.html        |  1412 +++
 .../google/cloud/hooks/text_to_speech.html         |   921 ++
 .../providers/google/cloud/hooks/translate.html    |   917 ++
 .../google/cloud/hooks/vertex_ai/custom_job.html   |  2859 +++++
 .../google/cloud/hooks/vertex_ai/dataset.html      |  1268 +++
 .../google/cloud/hooks/video_intelligence.html     |   929 ++
 .../providers/google/cloud/hooks/vision.html       |  1483 +++
 .../providers/google/cloud/hooks/workflows.html    |  1147 ++
 .../google/cloud/log/gcs_task_handler.html         |   993 ++
 .../google/cloud/log/stackdriver_task_handler.html |  1163 ++
 .../providers/google/cloud/operators/automl.html   |  1958 ++++
 .../providers/google/cloud/operators/bigquery.html |  2960 +++++
 .../google/cloud/operators/bigquery_dts.html       |  1088 ++
 .../providers/google/cloud/operators/bigtable.html |  1391 +++
 .../google/cloud/operators/cloud_build.html        |  1749 +++
 .../google/cloud/operators/cloud_composer.html     |  1517 +++
 .../google/cloud/operators/cloud_memorystore.html  |  2384 ++++
 .../google/cloud/operators/cloud_sql.html          |  1829 ++++
 .../operators/cloud_storage_transfer_service.html  |  1853 ++++
 .../providers/google/cloud/operators/compute.html  |  1376 +++
 .../google/cloud/operators/datacatalog.html        |  2862 +++++
 .../providers/google/cloud/operators/dataflow.html |  1910 ++++
 .../google/cloud/operators/datafusion.html         |  1682 +++
 .../providers/google/cloud/operators/dataprep.html |   934 ++
 .../providers/google/cloud/operators/dataproc.html |  3137 ++++++
 .../google/cloud/operators/dataproc_metastore.html |  1780 +++
 .../google/cloud/operators/datastore.html          |  1462 +++
 .../providers/google/cloud/operators/dlp.html      |  3430 ++++++
 .../google/cloud/operators/functions.html          |  1270 +++
 .../providers/google/cloud/operators/gcs.html      |  1810 +++
 .../google/cloud/operators/kubernetes_engine.html  |  1205 ++
 .../google/cloud/operators/life_sciences.html      |   902 ++
 .../providers/google/cloud/operators/mlengine.html |  2097 ++++
 .../google/cloud/operators/natural_language.html   |  1132 ++
 .../providers/google/cloud/operators/pubsub.html   |  1699 +++
 .../providers/google/cloud/operators/spanner.html  |  1371 +++
 .../google/cloud/operators/speech_to_text.html     |   919 ++
 .../google/cloud/operators/stackdriver.html        |  1721 +++
 .../providers/google/cloud/operators/tasks.html    |  1947 ++++
 .../google/cloud/operators/text_to_speech.html     |   950 ++
 .../google/cloud/operators/translate.html          |   940 ++
 .../google/cloud/operators/translate_speech.html   |   987 ++
 .../cloud/operators/vertex_ai/custom_job.html      |  2257 ++++
 .../google/cloud/operators/vertex_ai/dataset.html  |  1454 +++
 .../google/cloud/operators/video_intelligence.html |  1108 ++
 .../providers/google/cloud/operators/vision.html   |  2338 ++++
 .../google/cloud/operators/workflows.html          |  1460 +++
 .../google/cloud/secrets/secret_manager.html       |   975 ++
 .../providers/google/cloud/sensors/bigquery.html   |   972 ++
 .../google/cloud/sensors/bigquery_dts.html         |   941 ++
 .../providers/google/cloud/sensors/bigtable.html   |   922 ++
 .../sensors/cloud_storage_transfer_service.html    |   912 ++
 .../providers/google/cloud/sensors/dataflow.html   |  1180 ++
 .../providers/google/cloud/sensors/datafusion.html |   935 ++
 .../providers/google/cloud/sensors/dataproc.html   |   931 ++
 .../providers/google/cloud/sensors/gcs.html        |  1225 +++
 .../providers/google/cloud/sensors/pubsub.html     |  1003 ++
 .../providers/google/cloud/sensors/workflows.html  |   928 ++
 .../google/cloud/transfers/adls_to_gcs.html        |   985 ++
 .../cloud/transfers/azure_fileshare_to_gcs.html    |   977 ++
 .../cloud/transfers/bigquery_to_bigquery.html      |   947 ++
 .../google/cloud/transfers/bigquery_to_gcs.html    |   961 ++
 .../google/cloud/transfers/bigquery_to_mssql.html  |   943 ++
 .../google/cloud/transfers/bigquery_to_mysql.html  |   944 ++
 .../google/cloud/transfers/cassandra_to_gcs.html   |  1199 ++
 .../cloud/transfers/facebook_ads_to_gcs.html       |  1054 ++
 .../google/cloud/transfers/gcs_to_bigquery.html    |  1133 ++
 .../google/cloud/transfers/gcs_to_gcs.html         |  1242 +++
 .../google/cloud/transfers/gcs_to_local.html       |   951 ++
 .../google/cloud/transfers/gcs_to_sftp.html        |  1009 ++
 .../google/cloud/transfers/gdrive_to_gcs.html      |   934 ++
 .../google/cloud/transfers/gdrive_to_local.html    |   898 ++
 .../google/cloud/transfers/local_to_gcs.html       |   938 ++
 .../google/cloud/transfers/mssql_to_gcs.html       |   898 ++
 .../google/cloud/transfers/mysql_to_gcs.html       |   940 ++
 .../google/cloud/transfers/oracle_to_gcs.html      |   931 ++
 .../google/cloud/transfers/postgres_to_gcs.html    |   957 ++
 .../google/cloud/transfers/presto_to_gcs.html      |  1013 ++
 .../google/cloud/transfers/s3_to_gcs.html          |  1032 ++
 .../google/cloud/transfers/salesforce_to_gcs.html  |   926 ++
 .../google/cloud/transfers/sftp_to_gcs.html        |   989 ++
 .../google/cloud/transfers/sheets_to_gcs.html      |   947 ++
 .../google/cloud/transfers/sql_to_gcs.html         |  1166 ++
 .../google/cloud/transfers/trino_to_gcs.html       |  1013 ++
 .../google/cloud/triggers/cloud_composer.html      |   902 ++
 .../google/cloud/utils/bigquery_get_data.html      |   864 ++
 .../google/cloud/utils/credentials_provider.html   |  1181 ++
 .../google/cloud/utils/field_sanitizer.html        |   973 ++
 .../google/cloud/utils/field_validator.html        |  1264 +++
 .../providers/google/cloud/utils/helpers.html      |   832 ++
 .../cloud/utils/mlengine_operator_utils.html       |  1071 ++
 .../cloud/utils/mlengine_prediction_summary.html   |  1021 ++
 .../google/common/auth_backend/google_openid.html  |   946 ++
 .../airflow/providers/google/common/consts.html    |   826 ++
 .../providers/google/common/hooks/base_google.html |  1366 +++
 .../google/common/hooks/discovery_api.html         |   964 ++
 .../google/common/utils/id_token_credentials.html  |  1021 ++
 .../providers/google/firebase/hooks/firestore.html |   950 ++
 .../google/firebase/operators/firestore.html       |   900 ++
 .../airflow/providers/google/go_module_utils.html  |   854 ++
 .../providers/google/leveldb/hooks/leveldb.html    |   974 ++
 .../google/leveldb/operators/leveldb.html          |   901 ++
 .../google/marketing_platform/hooks/analytics.html |  1011 ++
 .../marketing_platform/hooks/campaign_manager.html |  1117 ++
 .../marketing_platform/hooks/display_video.html    |  1021 ++
 .../marketing_platform/hooks/search_ads.html       |   896 ++
 .../marketing_platform/operators/analytics.html    |  1314 +++
 .../operators/campaign_manager.html                |  1401 +++
 .../operators/display_video.html                   |  1516 +++
 .../marketing_platform/operators/search_ads.html   |  1040 ++
 .../sensors/campaign_manager.html                  |   907 ++
 .../marketing_platform/sensors/display_video.html  |   962 ++
 .../marketing_platform/sensors/search_ads.html     |   897 ++
 .../providers/google/suite/hooks/calendar.html     |  1018 ++
 .../providers/google/suite/hooks/drive.html        |  1025 ++
 .../providers/google/suite/hooks/sheets.html       |  1225 +++
 .../providers/google/suite/operators/sheets.html   |   885 ++
 .../providers/google/suite/sensors/drive.html      |   894 ++
 .../google/suite/transfers/gcs_to_gdrive.html      |   974 ++
 .../google/suite/transfers/gcs_to_sheets.html      |   916 ++
 .../google/suite/transfers/sql_to_sheets.html      |   937 ++
 .../6.4.0/_modules/index.html                      |   964 ++
 .../providers/google/ads/hooks/ads/index.rst.txt   |   116 +
 .../providers/google/ads/hooks/index.rst.txt       |    15 +
 .../airflow/providers/google/ads/index.rst.txt     |    17 +
 .../google/ads/operators/ads/index.rst.txt         |    72 +
 .../providers/google/ads/operators/index.rst.txt   |    15 +
 .../google/ads/transfers/ads_to_gcs/index.rst.txt  |    68 +
 .../providers/google/ads/transfers/index.rst.txt   |    15 +
 .../google/cloud/hooks/automl/index.rst.txt        |   331 +
 .../google/cloud/hooks/bigquery/index.rst.txt      |  1203 ++
 .../google/cloud/hooks/bigquery_dts/index.rst.txt  |   136 +
 .../google/cloud/hooks/bigtable/index.rst.txt      |   160 +
 .../google/cloud/hooks/cloud_build/index.rst.txt   |   254 +
 .../cloud/hooks/cloud_composer/index.rst.txt       |   140 +
 .../cloud/hooks/cloud_memorystore/index.rst.txt    |   406 +
 .../google/cloud/hooks/cloud_sql/index.rst.txt     |   458 +
 .../cloud_storage_transfer_service/index.rst.txt   |   546 +
 .../google/cloud/hooks/compute/index.rst.txt       |   218 +
 .../google/cloud/hooks/compute_ssh/index.rst.txt   |    74 +
 .../google/cloud/hooks/datacatalog/index.rst.txt   |   513 +
 .../google/cloud/hooks/dataflow/index.rst.txt      |   396 +
 .../google/cloud/hooks/datafusion/index.rst.txt    |   242 +
 .../google/cloud/hooks/dataprep/index.rst.txt      |    83 +
 .../google/cloud/hooks/dataproc/index.rst.txt      |   496 +
 .../cloud/hooks/dataproc_metastore/index.rst.txt   |   331 +
 .../google/cloud/hooks/datastore/index.rst.txt     |   196 +
 .../providers/google/cloud/hooks/dlp/index.rst.txt |   683 ++
 .../google/cloud/hooks/functions/index.rst.txt     |   118 +
 .../providers/google/cloud/hooks/gcs/index.rst.txt |   440 +
 .../providers/google/cloud/hooks/gdm/index.rst.txt |    55 +
 .../providers/google/cloud/hooks/index.rst.txt     |    62 +
 .../providers/google/cloud/hooks/kms/index.rst.txt |    89 +
 .../cloud/hooks/kubernetes_engine/index.rst.txt    |   135 +
 .../google/cloud/hooks/life_sciences/index.rst.txt |    79 +
 .../google/cloud/hooks/mlengine/index.rst.txt      |   193 +
 .../cloud/hooks/natural_language/index.rst.txt     |   147 +
 .../google/cloud/hooks/os_login/index.rst.txt      |    59 +
 .../google/cloud/hooks/pubsub/index.rst.txt        |   249 +
 .../cloud/hooks/secret_manager/index.rst.txt       |    66 +
 .../google/cloud/hooks/spanner/index.rst.txt       |   162 +
 .../cloud/hooks/speech_to_text/index.rst.txt       |    66 +
 .../google/cloud/hooks/stackdriver/index.rst.txt   |   227 +
 .../google/cloud/hooks/tasks/index.rst.txt         |   308 +
 .../cloud/hooks/text_to_speech/index.rst.txt       |    74 +
 .../google/cloud/hooks/translate/index.rst.txt     |    79 +
 .../cloud/hooks/vertex_ai/custom_job/index.rst.txt |  1107 ++
 .../cloud/hooks/vertex_ai/dataset/index.rst.txt    |   193 +
 .../google/cloud/hooks/vertex_ai/index.rst.txt     |    16 +
 .../cloud/hooks/video_intelligence/index.rst.txt   |    78 +
 .../google/cloud/hooks/vision/index.rst.txt        |   251 +
 .../google/cloud/hooks/workflows/index.rst.txt     |   189 +
 .../airflow/providers/google/cloud/index.rst.txt   |    22 +
 .../cloud/log/gcs_task_handler/index.rst.txt       |    69 +
 .../providers/google/cloud/log/index.rst.txt       |    16 +
 .../log/stackdriver_task_handler/index.rst.txt     |   153 +
 .../google/cloud/operators/automl/index.rst.txt    |   654 ++
 .../google/cloud/operators/bigquery/index.rst.txt  |  1421 +++
 .../cloud/operators/bigquery_dts/index.rst.txt     |   171 +
 .../google/cloud/operators/bigtable/index.rst.txt  |   348 +
 .../cloud/operators/cloud_build/index.rst.txt      |   574 +
 .../cloud/operators/cloud_composer/index.rst.txt   |   389 +
 .../operators/cloud_memorystore/index.rst.txt      |   903 ++
 .../google/cloud/operators/cloud_sql/index.rst.txt |   515 +
 .../cloud_storage_transfer_service/index.rst.txt   |   565 +
 .../google/cloud/operators/compute/index.rst.txt   |   304 +
 .../cloud/operators/datacatalog/index.rst.txt      |  1109 ++
 .../google/cloud/operators/dataflow/index.rst.txt  |   744 ++
 .../cloud/operators/datafusion/index.rst.txt       |   482 +
 .../google/cloud/operators/dataprep/index.rst.txt  |   114 +
 .../google/cloud/operators/dataproc/index.rst.txt  |  1212 +++
 .../operators/dataproc_metastore/index.rst.txt     |   521 +
 .../google/cloud/operators/datastore/index.rst.txt |   428 +
 .../google/cloud/operators/dlp/index.rst.txt       |  1523 +++
 .../google/cloud/operators/functions/index.rst.txt |   244 +
 .../google/cloud/operators/gcs/index.rst.txt       |   536 +
 .../providers/google/cloud/operators/index.rst.txt |    58 +
 .../operators/kubernetes_engine/index.rst.txt      |   217 +
 .../cloud/operators/life_sciences/index.rst.txt    |    63 +
 .../google/cloud/operators/mlengine/index.rst.txt  |   724 ++
 .../cloud/operators/natural_language/index.rst.txt |   213 +
 .../google/cloud/operators/pubsub/index.rst.txt    |   570 +
 .../google/cloud/operators/spanner/index.rst.txt   |   311 +
 .../cloud/operators/speech_to_text/index.rst.txt   |    70 +
 .../cloud/operators/stackdriver/index.rst.txt      |   606 ++
 .../google/cloud/operators/tasks/index.rst.txt     |   676 ++
 .../cloud/operators/text_to_speech/index.rst.txt   |    74 +
 .../google/cloud/operators/translate/index.rst.txt |    91 +
 .../cloud/operators/translate_speech/index.rst.txt |   108 +
 .../operators/vertex_ai/custom_job/index.rst.txt   |  1068 ++
 .../operators/vertex_ai/dataset/index.rst.txt      |   398 +
 .../google/cloud/operators/vertex_ai/index.rst.txt |    16 +
 .../operators/video_intelligence/index.rst.txt     |   179 +
 .../google/cloud/operators/vision/index.rst.txt    |   919 ++
 .../google/cloud/operators/workflows/index.rst.txt |   367 +
 .../providers/google/cloud/secrets/index.rst.txt   |    15 +
 .../cloud/secrets/secret_manager/index.rst.txt     |   114 +
 .../google/cloud/sensors/bigquery/index.rst.txt    |   112 +
 .../cloud/sensors/bigquery_dts/index.rst.txt       |    70 +
 .../google/cloud/sensors/bigtable/index.rst.txt    |    67 +
 .../cloud_storage_transfer_service/index.rst.txt   |    64 +
 .../google/cloud/sensors/dataflow/index.rst.txt    |   204 +
 .../google/cloud/sensors/datafusion/index.rst.txt  |    66 +
 .../google/cloud/sensors/dataproc/index.rst.txt    |    63 +
 .../google/cloud/sensors/gcs/index.rst.txt         |   254 +
 .../providers/google/cloud/sensors/index.rst.txt   |    24 +
 .../google/cloud/sensors/pubsub/index.rst.txt      |   108 +
 .../google/cloud/sensors/workflows/index.rst.txt   |    51 +
 .../cloud/transfers/adls_to_gcs/index.rst.txt      |   110 +
 .../transfers/azure_fileshare_to_gcs/index.rst.txt |    67 +
 .../transfers/bigquery_to_bigquery/index.rst.txt   |    91 +
 .../cloud/transfers/bigquery_to_gcs/index.rst.txt  |    88 +
 .../transfers/bigquery_to_mssql/index.rst.txt      |    86 +
 .../transfers/bigquery_to_mysql/index.rst.txt      |    85 +
 .../cloud/transfers/cassandra_to_gcs/index.rst.txt |   198 +
 .../transfers/facebook_ads_to_gcs/index.rst.txt    |   103 +
 .../cloud/transfers/gcs_to_bigquery/index.rst.txt  |   153 +
 .../cloud/transfers/gcs_to_gcs/index.rst.txt       |   191 +
 .../cloud/transfers/gcs_to_local/index.rst.txt     |    80 +
 .../cloud/transfers/gcs_to_sftp/index.rst.txt      |   121 +
 .../cloud/transfers/gdrive_to_gcs/index.rst.txt    |    65 +
 .../cloud/transfers/gdrive_to_local/index.rst.txt  |    59 +
 .../providers/google/cloud/transfers/index.rst.txt |    40 +
 .../cloud/transfers/local_to_gcs/index.rst.txt     |    67 +
 .../cloud/transfers/mssql_to_gcs/index.rst.txt     |    84 +
 .../cloud/transfers/mysql_to_gcs/index.rst.txt     |    80 +
 .../cloud/transfers/oracle_to_gcs/index.rst.txt    |    74 +
 .../cloud/transfers/postgres_to_gcs/index.rst.txt  |    63 +
 .../cloud/transfers/presto_to_gcs/index.rst.txt    |    56 +
 .../google/cloud/transfers/s3_to_gcs/index.rst.txt |   103 +
 .../transfers/salesforce_to_gcs/index.rst.txt      |    69 +
 .../cloud/transfers/sftp_to_gcs/index.rst.txt      |    92 +
 .../cloud/transfers/sheets_to_gcs/index.rst.txt    |    63 +
 .../cloud/transfers/sql_to_gcs/index.rst.txt       |   120 +
 .../cloud/transfers/trino_to_gcs/index.rst.txt     |    56 +
 .../cloud/triggers/cloud_composer/index.rst.txt    |    64 +
 .../providers/google/cloud/triggers/index.rst.txt  |    15 +
 .../cloud/utils/bigquery_get_data/index.rst.txt    |    22 +
 .../cloud/utils/credentials_provider/index.rst.txt |   104 +
 .../cloud/utils/field_sanitizer/index.rst.txt      |   126 +
 .../cloud/utils/field_validator/index.rst.txt      |   198 +
 .../google/cloud/utils/helpers/index.rst.txt       |    29 +
 .../providers/google/cloud/utils/index.rst.txt     |    21 +
 .../utils/mlengine_operator_utils/index.rst.txt    |   171 +
 .../mlengine_prediction_summary/index.rst.txt      |   148 +
 .../auth_backend/google_openid/index.rst.txt       |    66 +
 .../google/common/auth_backend/index.rst.txt       |    15 +
 .../providers/google/common/consts/index.rst.txt   |    14 +
 .../google/common/hooks/base_google/index.rst.txt  |   293 +
 .../common/hooks/discovery_api/index.rst.txt       |    72 +
 .../providers/google/common/hooks/index.rst.txt    |    16 +
 .../airflow/providers/google/common/index.rst.txt  |    26 +
 .../utils/id_token_credentials/index.rst.txt       |   105 +
 .../providers/google/common/utils/index.rst.txt    |    15 +
 .../google/config_templates/index.rst.txt          |     6 +
 .../google/firebase/hooks/firestore/index.rst.txt  |    80 +
 .../providers/google/firebase/hooks/index.rst.txt  |    15 +
 .../providers/google/firebase/index.rst.txt        |    16 +
 .../firebase/operators/firestore/index.rst.txt     |    61 +
 .../google/firebase/operators/index.rst.txt        |    15 +
 .../providers/google/go_module_utils/index.rst.txt |    43 +
 .../_api/airflow/providers/google/index.rst.txt    |    49 +
 .../providers/google/leveldb/hooks/index.rst.txt   |    15 +
 .../google/leveldb/hooks/leveldb/index.rst.txt     |   134 +
 .../airflow/providers/google/leveldb/index.rst.txt |    16 +
 .../google/leveldb/operators/index.rst.txt         |    15 +
 .../google/leveldb/operators/leveldb/index.rst.txt |    50 +
 .../hooks/analytics/index.rst.txt                  |    90 +
 .../hooks/campaign_manager/index.rst.txt           |   141 +
 .../hooks/display_video/index.rst.txt              |   135 +
 .../google/marketing_platform/hooks/index.rst.txt  |    18 +
 .../hooks/search_ads/index.rst.txt                 |    58 +
 .../google/marketing_platform/index.rst.txt        |    17 +
 .../operators/analytics/index.rst.txt              |   272 +
 .../operators/campaign_manager/index.rst.txt       |   329 +
 .../operators/display_video/index.rst.txt          |   387 +
 .../marketing_platform/operators/index.rst.txt     |    18 +
 .../operators/search_ads/index.rst.txt             |   128 +
 .../sensors/campaign_manager/index.rst.txt         |    67 +
 .../sensors/display_video/index.rst.txt            |   100 +
 .../marketing_platform/sensors/index.rst.txt       |    17 +
 .../sensors/search_ads/index.rst.txt               |    65 +
 .../google/suite/hooks/calendar/index.rst.txt      |   105 +
 .../google/suite/hooks/drive/index.rst.txt         |   101 +
 .../providers/google/suite/hooks/index.rst.txt     |    17 +
 .../google/suite/hooks/sheets/index.rst.txt        |   206 +
 .../airflow/providers/google/suite/index.rst.txt   |    18 +
 .../providers/google/suite/operators/index.rst.txt |    15 +
 .../google/suite/operators/sheets/index.rst.txt    |    58 +
 .../google/suite/sensors/drive/index.rst.txt       |    64 +
 .../providers/google/suite/sensors/index.rst.txt   |    15 +
 .../suite/transfers/gcs_to_gdrive/index.rst.txt    |   103 +
 .../suite/transfers/gcs_to_sheets/index.rst.txt    |    60 +
 .../providers/google/suite/transfers/index.rst.txt |    17 +
 .../suite/transfers/sql_to_sheets/index.rst.txt    |    73 +
 .../api-auth-backend/google-openid.rst.txt         |    69 +
 .../6.4.0/_sources/commits.rst.txt                 |   837 ++
 .../6.4.0/_sources/configurations-ref.rst.txt      |    71 +
 .../6.4.0/_sources/connections/gcp.rst.txt         |   249 +
 .../6.4.0/_sources/connections/gcp_sql.rst.txt     |    78 +
 .../6.4.0/_sources/connections/gcp_ssh.rst.txt     |    72 +
 .../6.4.0/_sources/connections/index.rst.txt       |    25 +
 .../6.4.0/_sources/example-dags.rst.txt            |    28 +
 .../6.4.0/_sources/index.rst.txt                   |   178 +
 .../installing-providers-from-sources.rst.txt      |    18 +
 .../6.4.0/_sources/logging/gcs.rst.txt             |    57 +
 .../6.4.0/_sources/logging/index.rst.txt           |    25 +
 .../6.4.0/_sources/logging/stackdriver.rst.txt     |    63 +
 .../6.4.0/_sources/operators/ads.rst.txt           |    64 +
 .../6.4.0/_sources/operators/cloud/automl.rst.txt  |   192 +
 .../_sources/operators/cloud/bigquery.rst.txt      |   409 +
 .../_sources/operators/cloud/bigquery_dts.rst.txt  |   131 +
 .../_sources/operators/cloud/bigtable.rst.txt      |   197 +
 .../_sources/operators/cloud/cloud_build.rst.txt   |   376 +
 .../operators/cloud/cloud_composer.rst.txt         |   159 +
 .../operators/cloud/cloud_memorystore.rst.txt      |   275 +
 .../cloud/cloud_memorystore_memcached.rst.txt      |   154 +
 .../_sources/operators/cloud/cloud_sql.rst.txt     |   568 +
 .../cloud/cloud_storage_transfer_service.rst.txt   |   375 +
 .../6.4.0/_sources/operators/cloud/compute.rst.txt |   288 +
 .../_sources/operators/cloud/compute_ssh.rst.txt   |    68 +
 .../operators/cloud/data_loss_prevention.rst.txt   |   338 +
 .../_sources/operators/cloud/datacatalog.rst.txt   |   610 ++
 .../_sources/operators/cloud/dataflow.rst.txt      |   292 +
 .../_sources/operators/cloud/datafusion.rst.txt    |   251 +
 .../_sources/operators/cloud/dataprep.rst.txt      |   104 +
 .../_sources/operators/cloud/dataproc.rst.txt      |   288 +
 .../operators/cloud/dataproc_metastore.rst.txt     |   196 +
 .../_sources/operators/cloud/datastore.rst.txt     |   196 +
 .../_sources/operators/cloud/functions.rst.txt     |   188 +
 .../6.4.0/_sources/operators/cloud/gcs.rst.txt     |   210 +
 .../6.4.0/_sources/operators/cloud/index.rst.txt   |    32 +
 .../operators/cloud/kubernetes_engine.rst.txt      |   142 +
 .../_sources/operators/cloud/life_sciences.rst.txt |    74 +
 .../_sources/operators/cloud/mlengine.rst.txt      |   229 +
 .../operators/cloud/natural_language.rst.txt       |   178 +
 .../6.4.0/_sources/operators/cloud/pubsub.rst.txt  |   141 +
 .../6.4.0/_sources/operators/cloud/spanner.rst.txt |   276 +
 .../operators/cloud/speech_to_text.rst.txt         |    81 +
 .../_sources/operators/cloud/stackdriver.rst.txt   |   227 +
 .../6.4.0/_sources/operators/cloud/tasks.rst.txt   |   229 +
 .../operators/cloud/text_to_speech.rst.txt         |    81 +
 .../_sources/operators/cloud/translate.rst.txt     |    79 +
 .../operators/cloud/translate_speech.rst.txt       |    78 +
 .../_sources/operators/cloud/vertex_ai.rst.txt     |   173 +
 .../operators/cloud/video_intelligence.rst.txt     |   184 +
 .../6.4.0/_sources/operators/cloud/vision.rst.txt  |  1025 ++
 .../_sources/operators/cloud/workflows.rst.txt     |   181 +
 .../_sources/operators/firebase/firestore.rst.txt  |    61 +
 .../6.4.0/_sources/operators/index.rst.txt         |    32 +
 .../_sources/operators/leveldb/leveldb.rst.txt     |    52 +
 .../operators/marketing_platform/analytics.rst.txt |    81 +
 .../marketing_platform/campaign_manager.rst.txt    |   161 +
 .../marketing_platform/display_video.rst.txt       |   222 +
 .../operators/marketing_platform/index.rst.txt     |    32 +
 .../marketing_platform/search_ads.rst.txt          |    90 +
 .../6.4.0/_sources/operators/suite/sheets.rst.txt  |    62 +
 .../transfer/azure_fileshare_to_gcs.rst.txt        |    54 +
 .../operators/transfer/facebook_ads_to_gcs.rst.txt |    48 +
 .../_sources/operators/transfer/gcs_to_gcs.rst.txt |   252 +
 .../operators/transfer/gcs_to_gdrive.rst.txt       |    85 +
 .../operators/transfer/gcs_to_local.rst.txt        |    52 +
 .../operators/transfer/gcs_to_sftp.rst.txt         |    99 +
 .../operators/transfer/gcs_to_sheets.rst.txt       |    48 +
 .../operators/transfer/gdrive_to_gcs.rst.txt       |    66 +
 .../operators/transfer/gdrive_to_local.rst.txt     |    53 +
 .../_sources/operators/transfer/index.rst.txt      |    28 +
 .../operators/transfer/local_to_gcs.rst.txt        |    53 +
 .../operators/transfer/mssql_to_gcs.rst.txt        |    50 +
 .../operators/transfer/mysql_to_gcs.rst.txt        |    53 +
 .../operators/transfer/oracle_to_gcs.rst.txt       |    53 +
 .../operators/transfer/presto_to_gcs.rst.txt       |   142 +
 .../_sources/operators/transfer/s3_to_gcs.rst.txt  |    48 +
 .../operators/transfer/salesforce_to_gcs.rst.txt   |    45 +
 .../operators/transfer/sftp_to_gcs.rst.txt         |   101 +
 .../operators/transfer/sheets_to_gcs.rst.txt       |    48 +
 .../operators/transfer/sql_to_sheets.rst.txt       |    45 +
 .../operators/transfer/trino_to_gcs.rst.txt        |   142 +
 .../google-cloud-secret-manager-backend.rst.txt    |   195 +
 .../6.4.0/_static/_gen/css/main-custom.min.css     |     1 +
 .../6.4.0/_static/_gen/css/main.min.css            |     7 +
 .../6.4.0/_static/_gen/js/docs.js                  |     1 +
 .../6.4.0/_static/basic.css                        |   906 ++
 .../6.4.0/_static/check-solid.svg                  |     4 +
 .../6.4.0/_static/clipboard.min.js                 |     7 +
 .../6.4.0/_static/copy-button.svg                  |     5 +
 .../6.4.0/_static/copybutton.css                   |    93 +
 .../6.4.0/_static/copybutton.js                    |   220 +
 .../6.4.0/_static/copybutton_funcs.js              |    58 +
 .../6.4.0/_static/doctools.js                      |   326 +
 .../6.4.0/_static/documentation_options.js         |    12 +
 .../6.4.0/_static/file.png                         |   Bin 0 -> 286 bytes
 .../6.4.0/_static/graphviz.css                     |    19 +
 .../6.4.0/_static/jquery-3.5.1.js                  | 10872 +++++++++++++++++++
 .../6.4.0/_static/jquery.js                        |     2 +
 .../6.4.0/_static/language_data.js                 |   297 +
 .../6.4.0/_static/minus.png                        |   Bin 0 -> 90 bytes
 .../6.4.0/_static/pin_32.png                       |   Bin 0 -> 1201 bytes
 .../6.4.0/_static/plus.png                         |   Bin 0 -> 90 bytes
 .../6.4.0/_static/pygments.css                     |    74 +
 .../6.4.0/_static/searchtools.js                   |   529 +
 .../6.4.0/_static/underscore-1.13.1.js             |  2042 ++++
 .../6.4.0/_static/underscore.js                    |     6 +
 .../6.4.0/api-auth-backend/google-openid.html      |   879 ++
 .../6.4.0/api-auth-backend/index.html              |     1 +
 .../6.4.0/commits.html                             |  3792 +++++++
 .../6.4.0/configurations-ref.html                  |   877 ++
 .../6.4.0/connections/gcp.html                     |  1042 ++
 .../6.4.0/connections/gcp_sql.html                 |   889 ++
 .../6.4.0/connections/gcp_ssh.html                 |   888 ++
 .../6.4.0/connections/index.html                   |   844 ++
 .../6.4.0/example-dags.html                        |   846 ++
 .../6.4.0/genindex.html                            |  7913 ++++++++++++++
 .../6.4.0/index.html                               |  1720 +++
 .../6.4.0/installing-providers-from-sources.html   |   943 ++
 .../6.4.0/logging/gcs.html                         |   870 ++
 .../6.4.0/logging/index.html                       |   843 ++
 .../6.4.0/logging/stackdriver.html                 |   872 ++
 .../6.4.0/objects.inv                              |   Bin 0 -> 30599 bytes
 .../6.4.0/operators/ads.html                       |   888 ++
 .../6.4.0/operators/cloud/automl.html              |  1066 ++
 .../6.4.0/operators/cloud/bigquery.html            |  1331 +++
 .../6.4.0/operators/cloud/bigquery_dts.html        |   975 ++
 .../6.4.0/operators/cloud/bigtable.html            |  1098 ++
 .../6.4.0/operators/cloud/cloud_build.html         |  1232 +++
 .../6.4.0/operators/cloud/cloud_composer.html      |  1028 ++
 .../6.4.0/operators/cloud/cloud_memorystore.html   |  1117 ++
 .../cloud/cloud_memorystore_memcached.html         |  1013 ++
 .../6.4.0/operators/cloud/cloud_sql.html           |  1701 +++
 .../cloud/cloud_storage_transfer_service.html      |  1278 +++
 .../6.4.0/operators/cloud/compute.html             |  1198 ++
 .../6.4.0/operators/cloud/compute_ssh.html         |   920 ++
 .../operators/cloud/data_loss_prevention.html      |  1159 ++
 .../6.4.0/operators/cloud/datacatalog.html         |  1514 +++
 .../6.4.0/operators/cloud/dataflow.html            |  1234 +++
 .../6.4.0/operators/cloud/datafusion.html          |  1088 ++
 .../6.4.0/operators/cloud/dataprep.html            |   921 ++
 .../6.4.0/operators/cloud/dataproc.html            |  1216 +++
 .../6.4.0/operators/cloud/dataproc_metastore.html  |  1094 ++
 .../6.4.0/operators/cloud/datastore.html           |  1047 ++
 .../6.4.0/operators/cloud/functions.html           |  1024 ++
 .../6.4.0/operators/cloud/gcs.html                 |  1074 ++
 .../6.4.0/operators/cloud/index.html               |   886 ++
 .../6.4.0/operators/cloud/kubernetes_engine.html   |   986 ++
 .../6.4.0/operators/cloud/life_sciences.html       |   937 ++
 .../6.4.0/operators/cloud/mlengine.html            |  1169 ++
 .../6.4.0/operators/cloud/natural_language.html    |  1011 ++
 .../6.4.0/operators/cloud/pubsub.html              |   985 ++
 .../6.4.0/operators/cloud/spanner.html             |  1201 ++
 .../6.4.0/operators/cloud/speech_to_text.html      |   914 ++
 .../6.4.0/operators/cloud/stackdriver.html         |  1072 ++
 .../6.4.0/operators/cloud/tasks.html               |  1092 ++
 .../6.4.0/operators/cloud/text_to_speech.html      |   929 ++
 .../6.4.0/operators/cloud/translate.html           |   914 ++
 .../6.4.0/operators/cloud/translate_speech.html    |   929 ++
 .../6.4.0/operators/cloud/vertex_ai.html           |  1107 ++
 .../6.4.0/operators/cloud/video_intelligence.html  |  1046 ++
 .../6.4.0/operators/cloud/vision.html              |  2046 ++++
 .../6.4.0/operators/cloud/workflows.html           |  1047 ++
 .../6.4.0/operators/firebase/firestore.html        |   879 ++
 .../6.4.0/operators/index.html                     |   848 ++
 .../6.4.0/operators/leveldb/leveldb.html           |   874 ++
 .../operators/marketing_platform/analytics.html    |   901 ++
 .../marketing_platform/campaign_manager.html       |   997 ++
 .../marketing_platform/display_video.html          |  1043 ++
 .../6.4.0/operators/marketing_platform/index.html  |   852 ++
 .../operators/marketing_platform/search_ads.html   |   905 ++
 .../6.4.0/operators/suite/sheets.html              |   883 ++
 .../operators/transfer/azure_fileshare_to_gcs.html |   885 ++
 .../operators/transfer/facebook_ads_to_gcs.html    |   879 ++
 .../6.4.0/operators/transfer/gcs_to_gcs.html       |  1121 ++
 .../6.4.0/operators/transfer/gcs_to_gdrive.html    |   921 ++
 .../6.4.0/operators/transfer/gcs_to_local.html     |   879 ++
 .../6.4.0/operators/transfer/gcs_to_sftp.html      |   943 ++
 .../6.4.0/operators/transfer/gcs_to_sheets.html    |   871 ++
 .../6.4.0/operators/transfer/gdrive_to_gcs.html    |   891 ++
 .../6.4.0/operators/transfer/gdrive_to_local.html  |   880 ++
 .../6.4.0/operators/transfer/index.html            |   863 ++
 .../6.4.0/operators/transfer/local_to_gcs.html     |   880 ++
 .../6.4.0/operators/transfer/mssql_to_gcs.html     |   881 ++
 .../6.4.0/operators/transfer/mysql_to_gcs.html     |   877 ++
 .../6.4.0/operators/transfer/oracle_to_gcs.html    |   877 ++
 .../6.4.0/operators/transfer/presto_to_gcs.html    |  1006 ++
 .../6.4.0/operators/transfer/s3_to_gcs.html        |   863 ++
 .../operators/transfer/salesforce_to_gcs.html      |   899 ++
 .../6.4.0/operators/transfer/sftp_to_gcs.html      |   941 ++
 .../6.4.0/operators/transfer/sheets_to_gcs.html    |   870 ++
 .../6.4.0/operators/transfer/sql_to_sheets.html    |   869 ++
 .../6.4.0/operators/transfer/trino_to_gcs.html     |  1006 ++
 .../6.4.0/py-modindex.html                         |  1789 +++
 .../6.4.0/search.html                              |   856 ++
 .../6.4.0/searchindex.js                           |     1 +
 .../google-cloud-secret-manager-backend.html       |  1006 ++
 .../6.4.0/secrets-backends/index.html              |     1 +
 .../apache-airflow-providers-google/stable.txt     |     2 +-
 .../2.2.0/.buildinfo                               |     4 +
 .../_api/airflow/providers/oracle/hooks/index.html |   836 ++
 .../providers/oracle/hooks/oracle/index.html       |  1022 ++
 .../2.2.0/_api/airflow/providers/oracle/index.html |   845 ++
 .../airflow/providers/oracle/operators/index.html  |   836 ++
 .../providers/oracle/operators/oracle/index.html   |   958 ++
 .../airflow/providers/oracle/transfers/index.html  |   836 ++
 .../oracle/transfers/oracle_to_oracle/index.html   |   904 ++
 .../airflow/providers/oracle/hooks/oracle.html     |  1135 ++
 .../airflow/providers/oracle/operators/oracle.html |   892 ++
 .../oracle/transfers/oracle_to_oracle.html         |   883 ++
 .../2.2.0/_modules/index.html                      |   795 ++
 .../airflow/providers/oracle/hooks/index.rst.txt   |    15 +
 .../providers/oracle/hooks/oracle/index.rst.txt    |   152 +
 .../_api/airflow/providers/oracle/index.rst.txt    |    17 +
 .../providers/oracle/operators/index.rst.txt       |    15 +
 .../oracle/operators/oracle/index.rst.txt          |    95 +
 .../providers/oracle/transfers/index.rst.txt       |    15 +
 .../transfers/oracle_to_oracle/index.rst.txt       |    58 +
 .../2.2.0/_sources/commits.rst.txt                 |   188 +
 .../2.2.0/_sources/connections/oracle.rst.txt      |   112 +
 .../2.2.0/_sources/index.rst.txt                   |    84 +
 .../installing-providers-from-sources.rst.txt      |    18 +
 .../2.2.0/_static/_gen/css/main-custom.min.css     |     1 +
 .../2.2.0/_static/_gen/css/main.min.css            |     7 +
 .../2.2.0/_static/_gen/js/docs.js                  |     1 +
 .../2.2.0/_static/basic.css                        |   906 ++
 .../2.2.0/_static/check-solid.svg                  |     4 +
 .../2.2.0/_static/clipboard.min.js                 |     7 +
 .../2.2.0/_static/copy-button.svg                  |     5 +
 .../2.2.0/_static/copybutton.css                   |    93 +
 .../2.2.0/_static/copybutton.js                    |   220 +
 .../2.2.0/_static/copybutton_funcs.js              |    58 +
 .../2.2.0/_static/doctools.js                      |   326 +
 .../2.2.0/_static/documentation_options.js         |    12 +
 .../2.2.0/_static/file.png                         |   Bin 0 -> 286 bytes
 .../2.2.0/_static/graphviz.css                     |    19 +
 .../2.2.0/_static/jquery-3.5.1.js                  | 10872 +++++++++++++++++++
 .../2.2.0/_static/jquery.js                        |     2 +
 .../2.2.0/_static/language_data.js                 |   297 +
 .../2.2.0/_static/minus.png                        |   Bin 0 -> 90 bytes
 .../2.2.0/_static/pin_32.png                       |   Bin 0 -> 1201 bytes
 .../2.2.0/_static/plus.png                         |   Bin 0 -> 90 bytes
 .../2.2.0/_static/pygments.css                     |    74 +
 .../2.2.0/_static/searchtools.js                   |   529 +
 .../2.2.0/_static/underscore-1.13.1.js             |  2042 ++++
 .../2.2.0/_static/underscore.js                    |     6 +
 .../2.2.0/commits.html                             |  1322 +++
 .../2.2.0/connections/oracle.html                  |   898 ++
 .../2.2.0/genindex.html                            |  1060 ++
 .../2.2.0/index.html                               |  1001 ++
 .../2.2.0/installing-providers-from-sources.html   |   931 ++
 .../2.2.0/objects.inv                              |   Bin 0 -> 814 bytes
 .../2.2.0/py-modindex.html                         |   847 ++
 .../2.2.0/search.html                              |   844 ++
 .../2.2.0/searchindex.js                           |     1 +
 .../apache-airflow-providers-oracle/stable.txt     |     2 +-
 858 files changed, 648489 insertions(+), 3 deletions(-)

diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/.buildinfo b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/.buildinfo
new file mode 100644
index 0000000..7640efc
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 78169f71b51a0127e8285aef00e9c8dd
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html
new file mode 100644
index 0000000..15e64fc
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html
@@ -0,0 +1,927 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.providers.elasticsearch.hooks.elasticsearch &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../../../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../../../search.html" />
+            <link rel="next" title="airflow.providers.elasticsearch.log" href="../../log/index.html" />
+            <link rel="prev" title="airflow.providers.elasticsearch.hooks" href="../index.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch</span></code></a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks.elasticsearch</span></code></a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <div class="section" id="module-airflow.providers.elasticsearch.hooks.elasticsearch">
+<span id="airflow-providers-elasticsearch-hooks-elasticsearch"></span><h1><a class="reference internal" href="#module-airflow.providers.elasticsearch.hooks.elasticsearch" title="airflow.providers.elasticsearch.hooks.elasticsearch"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks.elasticsearch</span></code></a><a class="headerlink" href="#module-airflow.providers.elasticsearch.hooks.elasticsearch" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook" title="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ElasticsearchHook</span></code></a></p></td>
+<td><p>Interact with Elasticsearch through the elasticsearch-dbapi.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.providers.elasticsearch.hooks.elasticsearch.</span></span><span class="sig-name descname"><span class="pre">ElasticsearchHook</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">schema</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'htt [...]
+<dd><p>Bases: <a class="reference external" href="/docs/apache-airflow/stable/_api/airflow/hooks/dbapi/index.html#airflow.hooks.dbapi.DbApiHook" title="(in apache-airflow v2.3.0.dev0)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.hooks.dbapi.DbApiHook</span></code></a></p>
+<p>Interact with Elasticsearch through the elasticsearch-dbapi.</p>
+<p>This hook uses the Elasticsearch conn_id.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>elasticsearch_conn_id</strong> -- The <a class="reference internal" href="../../../../../../connections/elasticsearch.html#howto-connection-elasticsearch"><span class="std std-ref">ElasticSearch connection id</span></a>
+used for Elasticsearch credentials.</p>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.conn_name_attr">
+<span class="sig-name descname"><span class="pre">conn_name_attr</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">elasticsearch_conn_id</span></em><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html#ElasticsearchHook.conn_name_attr"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearch.hook [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.default_conn_name">
+<span class="sig-name descname"><span class="pre">default_conn_name</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">elasticsearch_default</span></em><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html#ElasticsearchHook.default_conn_name"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearc [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.conn_type">
+<span class="sig-name descname"><span class="pre">conn_type</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">elasticsearch</span></em><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html#ElasticsearchHook.conn_type"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearch.hooks.elasticsearch.El [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.hook_name">
+<span class="sig-name descname"><span class="pre">hook_name</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">Elasticsearch</span></em><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html#ElasticsearchHook.hook_name"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearch.hooks.elasticsearch.El [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.get_conn">
+<span class="sig-name descname"><span class="pre">get_conn</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html#ElasticsearchHook.get_conn"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsea [...]
+<dd><p>Returns a elasticsearch connection object</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.get_uri">
+<span class="sig-name descname"><span class="pre">get_uri</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html#ElasticsearchHook.get_uri"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearc [...]
+<dd><p>Extract the URI from the connection.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>the extracted uri.</p>
+</dd>
+<dt class="field-even">Return type</dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)">str</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+</div>
+
+
+    <div class="pager" role="navigation" aria-label="related navigation">
+            <a rel="prev" title="airflow.providers.elasticsearch.hooks" href="../index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+            </a>
+            <a rel="next" title="airflow.providers.elasticsearch.log" href="../../log/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            <ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks.elasticsearch</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a><ul>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook">ElasticsearchHook</a><ul>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.conn_name_attr">conn_name_attr</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.default_conn_name">default_conn_name</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.conn_type">conn_type</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.hook_name">hook_name</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.get_conn">get_conn</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.get_uri">get_uri</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    
+        
+            
+        
+        <div class="base-layout--button">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow-providers-elasticsearch/_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.rst" rel="nofollow">
+
+                <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+                        <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.15 [...]
+                    </svg>
+
+                    <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+                </button>
+            </a>
+        </div>
+    
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../../../" src="../../../../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../../../../" id="documentation_options" src="../../../../../../_static/documentation_options.js"></script>
+        <script src="../../../../../../_static/jquery.js"></script>
+        <script src="../../../../../../_static/underscore.js"></script>
+        <script src="../../../../../../_static/doctools.js"></script>
+        <script src="../../../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../../../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/hooks/index.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/hooks/index.html
new file mode 100644
index 0000000..22394dd
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/hooks/index.html
@@ -0,0 +1,846 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.providers.elasticsearch.hooks &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../../search.html" />
+            <link rel="next" title="airflow.providers.elasticsearch.hooks.elasticsearch" href="elasticsearch/index.html" />
+            <link rel="prev" title="airflow.providers.elasticsearch" href="../index.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks</span></code></a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <div class="section" id="module-airflow.providers.elasticsearch.hooks">
+<span id="airflow-providers-elasticsearch-hooks"></span><h1><a class="reference internal" href="#module-airflow.providers.elasticsearch.hooks" title="airflow.providers.elasticsearch.hooks"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks</span></code></a><a class="headerlink" href="#module-airflow.providers.elasticsearch.hooks" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="elasticsearch/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks.elasticsearch</span></code></a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+    <div class="pager" role="navigation" aria-label="related navigation">
+            <a rel="prev" title="airflow.providers.elasticsearch" href="../index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+            </a>
+            <a rel="next" title="airflow.providers.elasticsearch.hooks.elasticsearch" href="elasticsearch/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            <ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks</span></code></a><ul>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
+</ul>
+</li>
+</ul>
+
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    
+        
+            
+        
+        <div class="base-layout--button">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow-providers-elasticsearch/_api/airflow/providers/elasticsearch/hooks/index.rst" rel="nofollow">
+
+                <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+                        <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.15 [...]
+                    </svg>
+
+                    <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+                </button>
+            </a>
+        </div>
+    
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../../../" id="documentation_options" src="../../../../../_static/documentation_options.js"></script>
+        <script src="../../../../../_static/jquery.js"></script>
+        <script src="../../../../../_static/underscore.js"></script>
+        <script src="../../../../../_static/doctools.js"></script>
+        <script src="../../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/index.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/index.html
new file mode 100644
index 0000000..5d162b2
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/index.html
@@ -0,0 +1,851 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.providers.elasticsearch &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../search.html" />
+            <link rel="next" title="airflow.providers.elasticsearch.hooks" href="hooks/index.html" />
+            <link rel="prev" title="Writing logs to Elasticsearch" href="../../../../logging/index.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch</span></code></a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <div class="section" id="module-airflow.providers.elasticsearch">
+<span id="airflow-providers-elasticsearch"></span><h1><a class="reference internal" href="#module-airflow.providers.elasticsearch" title="airflow.providers.elasticsearch"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch</span></code></a><a class="headerlink" href="#module-airflow.providers.elasticsearch" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="subpackages">
+<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="hooks/elasticsearch/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.hooks.elasticsearch</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="log/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="log/es_task_handler/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log.es_task_handler</span></code></a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+    <div class="pager" role="navigation" aria-label="related navigation">
+            <a rel="prev" title="Writing logs to Elasticsearch" href="../../../../logging/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+            </a>
+            <a rel="next" title="airflow.providers.elasticsearch.hooks" href="hooks/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            <ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch</span></code></a><ul>
+<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
+</ul>
+</li>
+</ul>
+
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    
+        
+            
+        
+        <div class="base-layout--button">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow-providers-elasticsearch/_api/airflow/providers/elasticsearch/index.rst" rel="nofollow">
+
+                <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+                        <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.15 [...]
+                    </svg>
+
+                    <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+                </button>
+            </a>
+        </div>
+    
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
+        <script src="../../../../_static/jquery.js"></script>
+        <script src="../../../../_static/underscore.js"></script>
+        <script src="../../../../_static/doctools.js"></script>
+        <script src="../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/log/es_task_handler/index.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/log/es_task_handler/index.html
new file mode 100644
index 0000000..daa8b62
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/log/es_task_handler/index.html
@@ -0,0 +1,1015 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.providers.elasticsearch.log.es_task_handler &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../../../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../../../search.html" />
+            <link rel="next" title="Installing from sources" href="../../../../../../installing-providers-from-sources.html" />
+            <link rel="prev" title="airflow.providers.elasticsearch.log" href="../index.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch</span></code></a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log.es_task_handler</span></code></a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <div class="section" id="module-airflow.providers.elasticsearch.log.es_task_handler">
+<span id="airflow-providers-elasticsearch-log-es-task-handler"></span><h1><a class="reference internal" href="#module-airflow.providers.elasticsearch.log.es_task_handler" title="airflow.providers.elasticsearch.log.es_task_handler"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log.es_task_handler</span></code></a><a class="headerlink" href="#module-airflow.providers.elasticsearch.log.es_task_handler" title="Permalink to this he [...]
+<div class="section" id="module-contents">
+<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="classes">
+<h3>Classes<a class="headerlink" href="#classes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler" title="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ElasticsearchTaskHandler</span></code></a></p></td>
+<td><p>ElasticsearchTaskHandler is a python log handler that</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="attributes">
+<h3>Attributes<a class="headerlink" href="#attributes" title="Permalink to this headline">¶</a></h3>
+<table class="longtable docutils align-default">
+<colgroup>
+<col style="width: 10%" />
+<col style="width: 90%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.EsLogMsgType" title="airflow.providers.elasticsearch.log.es_task_handler.EsLogMsgType"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EsLogMsgType</span></code></a></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py data">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.EsLogMsgType">
+<span class="sig-prename descclassname"><span class="pre">airflow.providers.elasticsearch.log.es_task_handler.</span></span><span class="sig-name descname"><span class="pre">EsLogMsgType</span></span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#EsLogMsgType"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearch.log.es_task_handler.EsLog [...]
+<dd></dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">airflow.providers.elasticsearch.log.es_task_handler.</span></span><span class="sig-name descname"><span class="pre">ElasticsearchTaskHandler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base_log_folder</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filename_template</s [...]
+<dd><p>Bases: <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.utils.log.file_task_handler.FileTaskHandler</span></code>, <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.ExternalLoggingMixin</span></code>, <code class="xref py py-obj docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
+<p>ElasticsearchTaskHandler is a python log handler that
+reads logs from Elasticsearch. Note that Airflow does not handle the indexing
+of logs into Elasticsearch. Instead, Airflow flushes logs
+into local files. Additional software setup is required
+to index the logs into Elasticsearch, such as using
+Filebeat and Logstash.
+To efficiently query and sort Elasticsearch results, this handler assumes each
+log message has a field <cite>log_id</cite> consists of ti primary keys:
+<cite>log_id = {dag_id}-{task_id}-{execution_date}-{try_number}</cite>
+Log messages with specific log_id are sorted based on <cite>offset</cite>,
+which is a unique integer indicates log message's order.
+Timestamps here are unreliable because multiple log messages
+might have the same timestamp.</p>
+<dl class="field-list simple">
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.PAGE">
+<span class="sig-name descname"><span class="pre">PAGE</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">0</span></em><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.PAGE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTask [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.MAX_LINE_PER_PAGE">
+<span class="sig-name descname"><span class="pre">MAX_LINE_PER_PAGE</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">1000</span></em><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.MAX_LINE_PER_PAGE"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearch.log.es_t [...]
+<dd></dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.LOG_NAME">
+<span class="sig-name descname"><span class="pre">LOG_NAME</span></span><em class="property"><span class="w"> </span><span class="pre">=</span> <span class="pre">Elasticsearch</span></em><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.LOG_NAME"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticsearch.log.es_task_handl [...]
+<dd></dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.es_read">
+<span class="sig-name descname"><span class="pre">es_read</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">log_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metadata</span></span></em><span class="sig-paren">)</span><a class="reference interna [...]
+<dd><p>Returns the logs matching log_id in Elasticsearch and next offset.
+Returns '' if no log is found or there was an error.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>log_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) -- the log_id of the log to read.</p></li>
+<li><p><strong>offset</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) -- the offset start to read log from.</p></li>
+<li><p><strong>metadata</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.10)"><em>dict</em></a>) -- log metadata, used for steaming log download.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.emit">
+<span class="sig-name descname"><span class="pre">emit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">record</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.emit"><span class="viewcode-link"><span class="pre">[ [...]
+<dd><p>Do whatever it takes to actually log the specified logging record.</p>
+<p>This version is intended to be implemented by subclasses and so
+raises a NotImplementedError.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.set_context">
+<span class="sig-name descname"><span class="pre">set_context</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ti</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.set_context"><span class="viewcode-link"><span cla [...]
+<dd><p>Provide task_instance context to airflow task handler.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>ti</strong> (<em>airflow.models.TaskInstance</em>) -- task instance object</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.close">
+<span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.close"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow.providers.elasticse [...]
+<dd><p>Tidy up any resources used by the handler.</p>
+<p>This version removes the handler from an internal map of handlers,
+_handlers, which is used for handler lookup by name. Subclasses
+should ensure that this gets called from overridden close()
+methods.</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.log_name">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">log_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.log_name"><span class="viewcode-link"><span class [...]
+<dd><p>The log name</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.get_external_log_url">
+<span class="sig-name descname"><span class="pre">get_external_log_url</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_instance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">try_number</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elastic [...]
+<dd><p>Creates an address for an external log collecting service.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>task_instance</strong> (<em>airflow.models.TaskInstance</em>) -- task instance object</p></li>
+<li><p><strong>try_number</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><em>int</em></a>) -- task instance try_number to read logs from.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>URL to the external log collection service</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)">str</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.supports_external_link">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">supports_external_link</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../_modules/airflow/providers/elasticsearch/log/es_task_handler.html#ElasticsearchTaskHandler.supports_external_link"><span class [...]
+<dd><p>Whether we can support external links</p>
+<dl class="field-list simple">
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+</div>
+</div>
+
+
+    <div class="pager" role="navigation" aria-label="related navigation">
+            <a rel="prev" title="airflow.providers.elasticsearch.log" href="../index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+            </a>
+            <a rel="next" title="Installing from sources" href="../../../../../../installing-providers-from-sources.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            <ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log.es_task_handler</span></code></a><ul>
+<li><a class="reference internal" href="#module-contents">Module Contents</a><ul>
+<li><a class="reference internal" href="#classes">Classes</a></li>
+<li><a class="reference internal" href="#attributes">Attributes</a><ul>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.EsLogMsgType">EsLogMsgType</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler">ElasticsearchTaskHandler</a><ul>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.PAGE">PAGE</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.MAX_LINE_PER_PAGE">MAX_LINE_PER_PAGE</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.LOG_NAME">LOG_NAME</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.es_read">es_read</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.emit">emit</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.set_context">set_context</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.close">close</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.log_name">log_name</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.get_external_log_url">get_external_log_url</a></li>
+<li><a class="reference internal" href="#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.supports_external_link">supports_external_link</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    
+        
+            
+        
+        <div class="base-layout--button">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow-providers-elasticsearch/_api/airflow/providers/elasticsearch/log/es_task_handler/index.rst" rel="nofollow">
+
+                <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+                        <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.15 [...]
+                    </svg>
+
+                    <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+                </button>
+            </a>
+        </div>
+    
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../../../" src="../../../../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../../../../" id="documentation_options" src="../../../../../../_static/documentation_options.js"></script>
+        <script src="../../../../../../_static/jquery.js"></script>
+        <script src="../../../../../../_static/underscore.js"></script>
+        <script src="../../../../../../_static/doctools.js"></script>
+        <script src="../../../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../../../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/log/index.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/log/index.html
new file mode 100644
index 0000000..8cef07b
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_api/airflow/providers/elasticsearch/log/index.html
@@ -0,0 +1,846 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.providers.elasticsearch.log &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../../search.html" />
+            <link rel="next" title="airflow.providers.elasticsearch.log.es_task_handler" href="es_task_handler/index.html" />
+            <link rel="prev" title="airflow.providers.elasticsearch.hooks.elasticsearch" href="../hooks/elasticsearch/index.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch</span></code></a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> <code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log</span></code></a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <div class="section" id="module-airflow.providers.elasticsearch.log">
+<span id="airflow-providers-elasticsearch-log"></span><h1><a class="reference internal" href="#module-airflow.providers.elasticsearch.log" title="airflow.providers.elasticsearch.log"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log</span></code></a><a class="headerlink" href="#module-airflow.providers.elasticsearch.log" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="submodules">
+<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="es_task_handler/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log.es_task_handler</span></code></a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+    <div class="pager" role="navigation" aria-label="related navigation">
+            <a rel="prev" title="airflow.providers.elasticsearch.hooks.elasticsearch" href="../hooks/elasticsearch/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="p">Previous</button>
+            </a>
+            <a rel="next" title="airflow.providers.elasticsearch.log.es_task_handler" href="es_task_handler/index.html" >
+                <button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" accesskey="n">Next</button>
+            </a>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            <ul>
+<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.providers.elasticsearch.log</span></code></a><ul>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
+</ul>
+</li>
+</ul>
+
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    
+        
+            
+        
+        <div class="base-layout--button">
+            <a href="https://github.com/apache/airflow/edit/main/docs/apache-airflow-providers-elasticsearch/_api/airflow/providers/elasticsearch/log/index.rst" rel="nofollow">
+
+                <button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+                        <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.15 [...]
+                    </svg>
+
+                    <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+                </button>
+            </a>
+        </div>
+    
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../../../" id="documentation_options" src="../../../../../_static/documentation_options.js"></script>
+        <script src="../../../../../_static/jquery.js"></script>
+        <script src="../../../../../_static/underscore.js"></script>
+        <script src="../../../../../_static/doctools.js"></script>
+        <script src="../../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html
new file mode 100644
index 0000000..bf08149
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/airflow/providers/elasticsearch/hooks/elasticsearch.html
@@ -0,0 +1,899 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.providers.elasticsearch.hooks.elasticsearch &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../../search.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../_api/airflow/providers/elasticsearch/index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../_api/airflow/providers/elasticsearch/index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../../index.html">Module code</a></li>
+            
+            <li class="breadcrumb-item"><a href="elasticsearch.html"> airflow.providers.elasticsearch.hooks.elasticsearch</a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <h1>Source code for airflow.providers.elasticsearch.hooks.elasticsearch</h1><div class="highlight"><pre>
+<span></span><span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Optional</span>
+
+<span class="kn">from</span> <span class="nn">es.elastic.api</span> <span class="kn">import</span> <span class="n">Connection</span> <span class="k">as</span> <span class="n">ESConnection</span><span class="p">,</span> <span class="n">connect</span>
+
+<span class="kn">from</span> <span class="nn">airflow.hooks.dbapi</span> <span class="kn">import</span> <span class="n">DbApiHook</span>
+<span class="kn">from</span> <span class="nn">airflow.models.connection</span> <span class="kn">import</span> <span class="n">Connection</span> <span class="k">as</span> <span class="n">AirflowConnection</span>
+
+
+<div class="viewcode-block" id="ElasticsearchHook"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook">[docs]</a><span class="k">class</span> <span class="nc">ElasticsearchHook</span><span class="p">(</span><span class="n">DbApiHook</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Interact with Elasticsearch through the elasticsearch-dbapi.</span>
+
+<span class="sd">    This hook uses the Elasticsearch conn_id.</span>
+
+<span class="sd">    :param elasticsearch_conn_id: The :ref:`ElasticSearch connection id &lt;howto/connection:elasticsearch&gt;`</span>
+<span class="sd">        used for Elasticsearch credentials.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+<div class="viewcode-block" id="ElasticsearchHook.conn_name_attr"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.conn_name_attr">[docs]</a>    <span class="n">conn_name_attr</span> <span class="o">=</span> <span class="s1">&#39;elasticsearch_conn_id&#39;</span></div>
+<div class="viewcode-block" id="ElasticsearchHook.default_conn_name"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.default_conn_name">[docs]</a>    <span class="n">default_conn_name</span> <span class="o">=</span> <span class="s1">&#39;elasticsearch_default&#39;</span></div>
+<div class="viewcode-block" id="ElasticsearchHook.conn_type"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.conn_type">[docs]</a>    <span class="n">conn_type</span> <span class="o">=</span> <span class="s1">&#39;elasticsearch&#39;</span></div>
+<div class="viewcode-block" id="ElasticsearchHook.hook_name"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.hook_name">[docs]</a>    <span class="n">hook_name</span> <span class="o">=</span> <span class="s1">&#39;Elasticsearch&#39;</span></div>
+
+    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">schema</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;http&quot;</span><span class="p">,</span> <span class="n">connection</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">AirflowConnection</span><span class="p">]</span> <s [...]
+        <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="n">connection</span>
+
+<div class="viewcode-block" id="ElasticsearchHook.get_conn"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.get_conn">[docs]</a>    <span class="k">def</span> <span class="nf">get_conn</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ESConnection</span><span class="p">:</span>
+        <span class="sd">&quot;&quot;&quot;Returns a elasticsearch connection object&quot;&quot;&quot;</span>
+        <span class="n">conn_id</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">)</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">conn_id</span><span class="p">)</span>
+
+        <span class="n">conn_args</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
+            <span class="n">host</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">host</span><span class="p">,</span>
+            <span class="n">port</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="p">,</span>
+            <span class="n">user</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">login</span> <span class="ow">or</span> <span class="kc">None</span><span class="p">,</span>
+            <span class="n">password</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">password</span> <span class="ow">or</span> <span class="kc">None</span><span class="p">,</span>
+            <span class="n">scheme</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">schema</span> <span class="ow">or</span> <span class="s2">&quot;http&quot;</span><span class="p">,</span>
+        <span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;http_compress&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
+            <span class="n">conn_args</span><span class="p">[</span><span class="s2">&quot;http_compress&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">bool</span><span class="p">([</span><span class="s2">&quot;http_compress&quot;</span><span class="p">])</span>
+
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;timeout&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span>
+            <span class="n">conn_args</span><span class="p">[</span><span class="s2">&quot;timeout&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">[</span><span class="s2">&quot;timeout&quot;</span><span class="p">]</span>
+
+        <span class="n">conn</span> <span class="o">=</span> <span class="n">connect</span><span class="p">(</span><span class="o">**</span><span class="n">conn_args</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">conn</span></div>
+
+<div class="viewcode-block" id="ElasticsearchHook.get_uri"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.html#airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook.get_uri">[docs]</a>    <span class="k">def</span> <span class="nf">get_uri</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+        <span class="n">conn_id</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conn_name_attr</span><span class="p">)</span>
+        <span class="n">conn</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_connection</span><span class="p">(</span><span class="n">conn_id</span><span class="p">)</span>
+
+        <span class="n">login</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">login</span><span class="p">:</span>
+            <span class="n">login</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{conn.login}</span><span class="s1">:</span><span class="si">{conn.password}</span><span class="s1">@&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn</span><span class="o">=</span><span class="n">conn</span><span class="p">)</span>
+        <span class="n">host</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">host</span>
+        <span class="k">if</span> <span class="n">conn</span><span class="o">.</span><span class="n">port</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="n">host</span> <span class="o">+=</span> <span class="sa">f</span><span class="s1">&#39;:</span><span class="si">{</span><span class="n">conn</span><span class="o">.</span><span class="n">port</span><span class="si">}</span><span class="s1">&#39;</span>
+        <span class="n">uri</span> <span class="o">=</span> <span class="s1">&#39;</span><span class="si">{conn.conn_type}</span><span class="s1">+</span><span class="si">{conn.schema}</span><span class="s1">://</span><span class="si">{login}{host}</span><span class="s1">/&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">conn</span><span class="o">=</span><span class="n">conn</span><span class="p">,</span> <span class="n">login</span [...]
+
+        <span class="n">extras_length</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="p">)</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">extras_length</span><span class="p">:</span>
+            <span class="k">return</span> <span class="n">uri</span>
+
+        <span class="n">uri</span> <span class="o">+=</span> <span class="s1">&#39;?&#39;</span>
+
+        <span class="k">for</span> <span class="n">arg_key</span><span class="p">,</span> <span class="n">arg_value</span> <span class="ow">in</span> <span class="n">conn</span><span class="o">.</span><span class="n">extra_dejson</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
+            <span class="n">extras_length</span> <span class="o">-=</span> <span class="mi">1</span>
+            <span class="n">uri</span> <span class="o">+=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">arg_key</span><span class="si">}</span><span class="s2">=</span><span class="si">{</span><span class="n">arg_value</span><span class="si">}</span><span class="s2">&quot;</span>
+
+            <span class="k">if</span> <span class="n">extras_length</span><span class="p">:</span>
+                <span class="n">uri</span> <span class="o">+=</span> <span class="s1">&#39;&amp;&#39;</span>
+
+        <span class="k">return</span> <span class="n">uri</span></div></div>
+</pre></div>
+
+    <div class="pager" role="navigation" aria-label="related navigation"><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Previous</button><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Next</button>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../../../" id="documentation_options" src="../../../../../_static/documentation_options.js"></script>
+        <script src="../../../../../_static/jquery.js"></script>
+        <script src="../../../../../_static/underscore.js"></script>
+        <script src="../../../../../_static/doctools.js"></script>
+        <script src="../../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/airflow/providers/elasticsearch/log/es_task_handler.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/airflow/providers/elasticsearch/log/es_task_handler.html
new file mode 100644
index 0000000..47b84bf
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/airflow/providers/elasticsearch/log/es_task_handler.html
@@ -0,0 +1,1192 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>airflow.providers.elasticsearch.log.es_task_handler &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../../../../../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../../../../../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../../../../../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../../../../../genindex.html" />
+            <link rel="search" title="Search" href="../../../../../search.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../_api/airflow/providers/elasticsearch/index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../../../../../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../_api/airflow/providers/elasticsearch/index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../../../../../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../../../../../index.html" class="icon icon-home"> Home</a></li>
+            
+                <li class="breadcrumb-item"><a href="../../../../index.html">Module code</a></li>
+            
+            <li class="breadcrumb-item"><a href="es_task_handler.html"> airflow.providers.elasticsearch.log.es_task_handler</a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <h1>Source code for airflow.providers.elasticsearch.log.es_task_handler</h1><div class="highlight"><pre>
+<span></span><span class="c1">#</span>
+<span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span>
+<span class="c1"># or more contributor license agreements.  See the NOTICE file</span>
+<span class="c1"># distributed with this work for additional information</span>
+<span class="c1"># regarding copyright ownership.  The ASF licenses this file</span>
+<span class="c1"># to you under the Apache License, Version 2.0 (the</span>
+<span class="c1"># &quot;License&quot;); you may not use this file except in compliance</span>
+<span class="c1"># with the License.  You may obtain a copy of the License at</span>
+<span class="c1">#</span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1">#</span>
+<span class="c1"># Unless required by applicable law or agreed to in writing,</span>
+<span class="c1"># software distributed under the License is distributed on an</span>
+<span class="c1"># &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span>
+<span class="c1"># KIND, either express or implied.  See the License for the</span>
+<span class="c1"># specific language governing permissions and limitations</span>
+<span class="c1"># under the License.</span>
+
+<span class="kn">import</span> <span class="nn">logging</span>
+<span class="kn">import</span> <span class="nn">sys</span>
+<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">defaultdict</span>
+<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
+<span class="kn">from</span> <span class="nn">operator</span> <span class="kn">import</span> <span class="n">attrgetter</span>
+<span class="kn">from</span> <span class="nn">time</span> <span class="kn">import</span> <span class="n">time</span>
+<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">List</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Tuple</span><span class="p">,</span> <span class="n">Union</span>
+<span class="kn">from</span> <span class="nn">urllib.parse</span> <span class="kn">import</span> <span class="n">quote</span>
+
+<span class="c1"># Using `from elasticsearch import *` would break elasticsearch mocking used in unit test.</span>
+<span class="kn">import</span> <span class="nn">elasticsearch</span>
+<span class="kn">import</span> <span class="nn">pendulum</span>
+<span class="kn">from</span> <span class="nn">elasticsearch_dsl</span> <span class="kn">import</span> <span class="n">Search</span>
+
+<span class="kn">from</span> <span class="nn">airflow.configuration</span> <span class="kn">import</span> <span class="n">conf</span>
+<span class="kn">from</span> <span class="nn">airflow.models</span> <span class="kn">import</span> <span class="n">TaskInstance</span>
+<span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="kn">import</span> <span class="n">timezone</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.file_task_handler</span> <span class="kn">import</span> <span class="n">FileTaskHandler</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.json_formatter</span> <span class="kn">import</span> <span class="n">JSONFormatter</span>
+<span class="kn">from</span> <span class="nn">airflow.utils.log.logging_mixin</span> <span class="kn">import</span> <span class="n">ExternalLoggingMixin</span><span class="p">,</span> <span class="n">LoggingMixin</span>
+
+<span class="c1"># Elasticsearch hosted log type</span>
+<div class="viewcode-block" id="EsLogMsgType"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.EsLogMsgType">[docs]</a><span class="n">EsLogMsgType</span> <span class="o">=</span> <span class="n">List</span><span class="p">[</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class=" [...]
+
+
+<div class="viewcode-block" id="ElasticsearchTaskHandler"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler">[docs]</a><span class="k">class</span> <span class="nc">ElasticsearchTaskHandler</span><span class="p">(</span><span class="n">FileTaskHandler</span><span class="p">,</span> <span class="n">ExternalLoggingMixin</span><span class="p">,</span>  [...]
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    ElasticsearchTaskHandler is a python log handler that</span>
+<span class="sd">    reads logs from Elasticsearch. Note that Airflow does not handle the indexing</span>
+<span class="sd">    of logs into Elasticsearch. Instead, Airflow flushes logs</span>
+<span class="sd">    into local files. Additional software setup is required</span>
+<span class="sd">    to index the logs into Elasticsearch, such as using</span>
+<span class="sd">    Filebeat and Logstash.</span>
+<span class="sd">    To efficiently query and sort Elasticsearch results, this handler assumes each</span>
+<span class="sd">    log message has a field `log_id` consists of ti primary keys:</span>
+<span class="sd">    `log_id = {dag_id}-{task_id}-{execution_date}-{try_number}`</span>
+<span class="sd">    Log messages with specific log_id are sorted based on `offset`,</span>
+<span class="sd">    which is a unique integer indicates log message&#39;s order.</span>
+<span class="sd">    Timestamps here are unreliable because multiple log messages</span>
+<span class="sd">    might have the same timestamp.</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+
+<div class="viewcode-block" id="ElasticsearchTaskHandler.PAGE"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.PAGE">[docs]</a>    <span class="n">PAGE</span> <span class="o">=</span> <span class="mi">0</span></div>
+<div class="viewcode-block" id="ElasticsearchTaskHandler.MAX_LINE_PER_PAGE"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.MAX_LINE_PER_PAGE">[docs]</a>    <span class="n">MAX_LINE_PER_PAGE</span> <span class="o">=</span> <span class="mi">1000</span></div>
+<div class="viewcode-block" id="ElasticsearchTaskHandler.LOG_NAME"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.LOG_NAME">[docs]</a>    <span class="n">LOG_NAME</span> <span class="o">=</span> <span class="s1">&#39;Elasticsearch&#39;</span></div>
+
+    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span>
+        <span class="n">base_log_folder</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+        <span class="n">filename_template</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+        <span class="n">log_id_template</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+        <span class="n">end_of_log_mark</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+        <span class="n">write_stdout</span><span class="p">:</span> <span class="nb">bool</span><span class="p">,</span>
+        <span class="n">json_format</span><span class="p">:</span> <span class="nb">bool</span><span class="p">,</span>
+        <span class="n">json_fields</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
+        <span class="n">host_field</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;host&quot;</span><span class="p">,</span>
+        <span class="n">offset_field</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;offset&quot;</span><span class="p">,</span>
+        <span class="n">host</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;localhost:9200&quot;</span><span class="p">,</span>
+        <span class="n">frontend</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;localhost:5601&quot;</span><span class="p">,</span>
+        <span class="n">es_kwargs</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">dict</span><span class="p">]</span> <span class="o">=</span> <span class="n">conf</span><span class="o">.</span><span class="n">getsection</span><span class="p">(</span><span class="s2">&quot;elasticsearch_configs&quot;</span><span class="p">),</span>
+    <span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        :param base_log_folder: base folder to store logs locally</span>
+<span class="sd">        :param log_id_template: log id template</span>
+<span class="sd">        :param host: Elasticsearch host name</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">es_kwargs</span> <span class="o">=</span> <span class="n">es_kwargs</span> <span class="ow">or</span> <span class="p">{}</span>
+        <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">base_log_folder</span><span class="p">,</span> <span class="n">filename_template</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">False</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">elasticsearch</span><span class="o">.</span><span class="n">Elasticsearch</span><span class="p">([</span><span class="n">host</span><span class="p">],</span> <span class="o">**</span><span class="n">es_kwargs</span><span class="p">)</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">log_id_template</span> <span class="o">=</span> <span class="n">log_id_template</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">frontend</span> <span class="o">=</span> <span class="n">frontend</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mark_end_on_close</span> <span class="o">=</span> <span class="kc">True</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">end_of_log_mark</span> <span class="o">=</span> <span class="n">end_of_log_mark</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">write_stdout</span> <span class="o">=</span> <span class="n">write_stdout</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">json_format</span> <span class="o">=</span> <span class="n">json_format</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">json_fields</span> <span class="o">=</span> <span class="p">[</span><span class="n">label</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">label</span> <span class="ow">in</span> <span class="n">json_fields</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;,&quot;</span><span class= [...]
+        <span class="bp">self</span><span class="o">.</span><span class="n">host_field</span> <span class="o">=</span> <span class="n">host_field</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">offset_field</span> <span class="o">=</span> <span class="n">offset_field</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">context_set</span> <span class="o">=</span> <span class="kc">False</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">formatter</span><span class="p">:</span> <span class="n">logging</span><span class="o">.</span><span class="n">Formatter</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="n">logging</span><span class="o">.</span><span class="n">FileHandler</span><span class="p">,</span> <span class="n">logging</span><span class="o">.</span><span class="n">StreamHandler</span><span class="p">]</span>  <span class="c1"># type: ignore[assignment]</span>
+
+    <span class="k">def</span> <span class="nf">_render_log_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">:</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">try_number</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+        <span class="n">dag_run</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">get_dagrun</span><span class="p">()</span>
+        <span class="k">try</span><span class="p">:</span>
+            <span class="n">data_interval</span><span class="p">:</span> <span class="n">Tuple</span><span class="p">[</span><span class="n">datetime</span><span class="p">,</span> <span class="n">datetime</span><span class="p">]</span> <span class="o">=</span> <span class="n">ti</span><span class="o">.</span><span class="n">task</span><span class="o">.</span><span class="n">dag</span><span class="o">.</span><span class="n">get_run_data_interval</span><span class="p">(</span><span class= [...]
+        <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>  <span class="c1"># ti.task is not always set.</span>
+            <span class="n">data_interval</span> <span class="o">=</span> <span class="p">(</span><span class="n">dag_run</span><span class="o">.</span><span class="n">data_interval_start</span><span class="p">,</span> <span class="n">dag_run</span><span class="o">.</span><span class="n">data_interval_end</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">json_format</span><span class="p">:</span>
+            <span class="n">data_interval_start</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_clean_date</span><span class="p">(</span><span class="n">data_interval</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
+            <span class="n">data_interval_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_clean_date</span><span class="p">(</span><span class="n">data_interval</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
+            <span class="n">execution_date</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_clean_date</span><span class="p">(</span><span class="n">dag_run</span><span class="o">.</span><span class="n">execution_date</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">if</span> <span class="n">data_interval</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
+                <span class="n">data_interval_start</span> <span class="o">=</span> <span class="n">data_interval</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">data_interval_start</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+            <span class="k">if</span> <span class="n">data_interval</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
+                <span class="n">data_interval_end</span> <span class="o">=</span> <span class="n">data_interval</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="n">data_interval_end</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
+            <span class="n">execution_date</span> <span class="o">=</span> <span class="n">dag_run</span><span class="o">.</span><span class="n">execution_date</span><span class="o">.</span><span class="n">isoformat</span><span class="p">()</span>
+
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">log_id_template</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
+            <span class="n">dag_id</span><span class="o">=</span><span class="n">ti</span><span class="o">.</span><span class="n">dag_id</span><span class="p">,</span>
+            <span class="n">task_id</span><span class="o">=</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">,</span>
+            <span class="n">run_id</span><span class="o">=</span><span class="n">ti</span><span class="o">.</span><span class="n">run_id</span><span class="p">,</span>
+            <span class="n">data_interval_start</span><span class="o">=</span><span class="n">data_interval_start</span><span class="p">,</span>
+            <span class="n">data_interval_end</span><span class="o">=</span><span class="n">data_interval_end</span><span class="p">,</span>
+            <span class="n">execution_date</span><span class="o">=</span><span class="n">execution_date</span><span class="p">,</span>
+            <span class="n">try_number</span><span class="o">=</span><span class="n">try_number</span><span class="p">,</span>
+        <span class="p">)</span>
+
+    <span class="nd">@staticmethod</span>
+    <span class="k">def</span> <span class="nf">_clean_date</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">datetime</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Clean up a date value so that it is safe to query in elasticsearch</span>
+<span class="sd">        by removing reserved characters.</span>
+
+<span class="sd">        https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#_reserved_characters</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="k">return</span> <span class="s2">&quot;&quot;</span>
+        <span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y_%m_</span><span class="si">%d</span><span class="s2">T%H_%M_%S_</span><span class="si">%f</span><span class="s2">&quot;</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">_group_logs_by_host</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logs</span><span class="p">):</span>
+        <span class="n">grouped_logs</span> <span class="o">=</span> <span class="n">defaultdict</span><span class="p">(</span><span class="nb">list</span><span class="p">)</span>
+        <span class="k">for</span> <span class="n">log</span> <span class="ow">in</span> <span class="n">logs</span><span class="p">:</span>
+            <span class="n">key</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">log</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">host_field</span><span class="p">,</span> <span class="s1">&#39;default_host&#39;</span><span class="p">)</span>
+            <span class="n">grouped_logs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">log</span><span class="p">)</span>
+
+        <span class="c1"># return items sorted by timestamp.</span>
+        <span class="n">result</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">grouped_logs</span><span class="o">.</span><span class="n">items</span><span class="p">(),</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">kv</span><span class="p">:</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">kv</span><span class="p">[</span><span class="mi">1</span><s [...]
+
+        <span class="k">return</span> <span class="n">result</span>
+
+    <span class="k">def</span> <span class="nf">_read_grouped_logs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="kc">True</span>
+
+    <span class="k">def</span> <span class="nf">_read</span><span class="p">(</span>
+        <span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">:</span> <span class="n">TaskInstance</span><span class="p">,</span> <span class="n">try_number</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">metadata</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
+    <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Tuple</span><span class="p">[</span><span class="n">EsLogMsgType</span><span class="p">,</span> <span class="nb">dict</span><span class="p">]:</span>
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Endpoint for streaming log.</span>
+
+<span class="sd">        :param ti: task instance object</span>
+<span class="sd">        :param try_number: try_number of the task instance</span>
+<span class="sd">        :param metadata: log metadata,</span>
+<span class="sd">                         can be used for steaming log reading and auto-tailing.</span>
+<span class="sd">        :return: a list of tuple with host and log documents, metadata.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">metadata</span><span class="p">:</span>
+            <span class="n">metadata</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;offset&#39;</span><span class="p">:</span> <span class="mi">0</span><span class="p">}</span>
+        <span class="k">if</span> <span class="s1">&#39;offset&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">metadata</span><span class="p">:</span>
+            <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
+
+        <span class="n">offset</span> <span class="o">=</span> <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;offset&#39;</span><span class="p">]</span>
+        <span class="n">log_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_render_log_id</span><span class="p">(</span><span class="n">ti</span><span class="p">,</span> <span class="n">try_number</span><span class="p">)</span>
+
+        <span class="n">logs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">es_read</span><span class="p">(</span><span class="n">log_id</span><span class="p">,</span> <span class="n">offset</span><span class="p">,</span> <span class="n">metadata</span><span class="p">)</span>
+        <span class="n">logs_by_host</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_group_logs_by_host</span><span class="p">(</span><span class="n">logs</span><span class="p">)</span>
+
+        <span class="n">next_offset</span> <span class="o">=</span> <span class="n">offset</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">logs</span> <span class="k">else</span> <span class="n">attrgetter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">offset_field</span><span class="p">)(</span><span class="n">logs</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p" [...]
+
+        <span class="c1"># Ensure a string here. Large offset numbers will get JSON.parsed incorrectly</span>
+        <span class="c1"># on the client. Sending as a string prevents this issue.</span>
+        <span class="c1"># https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER</span>
+        <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">next_offset</span><span class="p">)</span>
+
+        <span class="c1"># end_of_log_mark may contain characters like &#39;\n&#39; which is needed to</span>
+        <span class="c1"># have the log uploaded but will not be stored in elasticsearch.</span>
+        <span class="n">loading_hosts</span> <span class="o">=</span> <span class="p">[</span>
+            <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">logs_by_host</span> <span class="k">if</span> <span class="n">item</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class=" [...]
+        <span class="p">]</span>
+        <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;end_of_log&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">logs</span> <span class="k">else</span> <span class="nb">len</span><span class="p">(</span><span class="n">loading_hosts</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span>
+
+        <span class="n">cur_ts</span> <span class="o">=</span> <span class="n">pendulum</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
+        <span class="k">if</span> <span class="s1">&#39;last_log_timestamp&#39;</span> <span class="ow">in</span> <span class="n">metadata</span><span class="p">:</span>
+            <span class="n">last_log_ts</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;last_log_timestamp&#39;</span><span class="p">])</span>
+
+            <span class="c1"># if we are not getting any logs at all after more than N seconds of trying,</span>
+            <span class="c1"># assume logs do not exist</span>
+            <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">next_offset</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">cur_ts</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">last_log_ts</span><span class="p">)</span><span class="o">.</span><span class="n">in_seconds</span><span class="p">()</span> <span class="o">&gt [...]
+                <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;end_of_log&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
+                <span class="n">missing_log_message</span> <span class="o">=</span> <span class="p">(</span>
+                    <span class="sa">f</span><span class="s2">&quot;*** Log </span><span class="si">{</span><span class="n">log_id</span><span class="si">}</span><span class="s2"> not found in Elasticsearch. &quot;</span>
+                    <span class="s2">&quot;If your task started recently, please wait a moment and reload this page. &quot;</span>
+                    <span class="s2">&quot;Otherwise, the logs for this task instance may have been removed.&quot;</span>
+                <span class="p">)</span>
+                <span class="k">return</span> <span class="p">[(</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">missing_log_message</span><span class="p">)],</span> <span class="n">metadata</span>
+            <span class="k">if</span> <span class="p">(</span>
+                <span class="c1"># Assume end of log after not receiving new log for N min,</span>
+                <span class="n">cur_ts</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">last_log_ts</span><span class="p">)</span><span class="o">.</span><span class="n">in_minutes</span><span class="p">()</span> <span class="o">&gt;=</span> <span class="mi">5</span>
+                <span class="c1"># if max_offset specified, respect it</span>
+                <span class="ow">or</span> <span class="p">(</span><span class="s1">&#39;max_offset&#39;</span> <span class="ow">in</span> <span class="n">metadata</span> <span class="ow">and</span> <span class="nb">int</span><span class="p">(</span><span class="n">offset</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="nb">int</span><span class="p">(</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;max_offset&#39;</span><span cla [...]
+            <span class="p">):</span>
+                <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;end_of_log&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
+
+        <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">offset</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">int</span><span class="p">(</span><span class="n">next_offset</span><span class="p">)</span> <span class="ow">or</span> <span class="s1">&#39;last_log_timestamp&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">metadata</span><span class="p">:</span>
+            <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;last_log_timestamp&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">cur_ts</span><span class="p">)</span>
+
+        <span class="c1"># If we hit the end of the log, remove the actual end_of_log message</span>
+        <span class="c1"># to prevent it from showing in the UI.</span>
+        <span class="k">def</span> <span class="nf">concat_logs</span><span class="p">(</span><span class="n">lines</span><span class="p">):</span>
+            <span class="n">log_range</span> <span class="o">=</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">lines</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="k">if</span> <span class="n">lines</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">message</span> <span class=" [...]
+            <span class="k">return</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_format_msg</span><span class="p">(</span><span class="n">lines</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span>  [...]
+
+        <span class="n">message</span> <span class="o">=</span> <span class="p">[(</span><span class="n">host</span><span class="p">,</span> <span class="n">concat_logs</span><span class="p">(</span><span class="n">hosted_log</span><span class="p">))</span> <span class="k">for</span> <span class="n">host</span><span class="p">,</span> <span class="n">hosted_log</span> <span class="ow">in</span> <span class="n">logs_by_host</span><span class="p">]</span>
+
+        <span class="k">return</span> <span class="n">message</span><span class="p">,</span> <span class="n">metadata</span>
+
+    <span class="k">def</span> <span class="nf">_format_msg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">log_line</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Format ES Record to match settings.LOG_FORMAT when used with json_format&quot;&quot;&quot;</span>
+        <span class="c1"># Using formatter._style.format makes it future proof i.e.</span>
+        <span class="c1"># if we change the formatter style from &#39;%&#39; to &#39;{&#39; or &#39;$&#39;, this will still work</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">json_format</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+
+                <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">formatter</span><span class="o">.</span><span class="n">_style</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">_ESJsonLogFmt</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">json_fields</span><span class="p">,</span> <span class="o">**</span><span class="n">log_line</span><span [...]
+            <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
+                <span class="k">pass</span>
+
+        <span class="c1"># Just a safe-guard to preserve backwards-compatibility</span>
+        <span class="k">return</span> <span class="n">log_line</span><span class="o">.</span><span class="n">message</span>
+
+<div class="viewcode-block" id="ElasticsearchTaskHandler.es_read"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.es_read">[docs]</a>    <span class="k">def</span> <span class="nf">es_read</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">log_id</span><span class="p">:</span> <span class="nb">str</s [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Returns the logs matching log_id in Elasticsearch and next offset.</span>
+<span class="sd">        Returns &#39;&#39; if no log is found or there was an error.</span>
+
+<span class="sd">        :param log_id: the log_id of the log to read.</span>
+<span class="sd">        :param offset: the offset start to read log from.</span>
+<span class="sd">        :param metadata: log metadata, used for steaming log download.</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="c1"># Offset is the unique key for sorting logs given log_id.</span>
+        <span class="n">search</span> <span class="o">=</span> <span class="n">Search</span><span class="p">(</span><span class="n">using</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="p">)</span><span class="o">.</span><span class="n">query</span><span class="p">(</span><span class="s1">&#39;match_phrase&#39;</span><span class="p">,</span> <span class="n">log_id</span><span class="o">=</span><span class="n">log [...]
+
+        <span class="n">search</span> <span class="o">=</span> <span class="n">search</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="s1">&#39;range&#39;</span><span class="p">,</span> <span class="o">**</span><span class="p">{</span><span class="bp">self</span><span class="o">.</span><span class="n">offset_field</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;gt&#39;</span><span class="p">:</span> <span class=" [...]
+        <span class="n">max_log_line</span> <span class="o">=</span> <span class="n">search</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
+        <span class="k">if</span> <span class="s1">&#39;download_logs&#39;</span> <span class="ow">in</span> <span class="n">metadata</span> <span class="ow">and</span> <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;download_logs&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s1">&#39;max_offset&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">metadata</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="k">if</span> <span class="n">max_log_line</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
+                    <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;max_offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">attrgetter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">offset_field</span><span class="p">)(</span>
+                        <span class="n">search</span><span class="p">[</span><span class="n">max_log_line</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">execute</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
+                    <span class="p">)</span>
+                <span class="k">else</span><span class="p">:</span>
+                    <span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;max_offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
+            <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s1">&#39;Could not get current log size with log_id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">log_id</span><span class="p">)</span>
+
+        <span class="n">logs</span> <span class="o">=</span> <span class="p">[]</span>
+        <span class="k">if</span> <span class="n">max_log_line</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+
+                <span class="n">logs</span> <span class="o">=</span> <span class="n">search</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">MAX_LINE_PER_PAGE</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">PAGE</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">MAX_LINE_PER_PAGE</span><span class="p">]</span><span class="o">.</span><span c [...]
+            <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">log</span><span class="o">.</span><span class="n">exception</span><span class="p">(</span><span class="s1">&#39;Could not read log with log_id: </span><span class="si">%s</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">log_id</span><span class="p">)</span>
+
+        <span class="k">return</span> <span class="n">logs</span></div>
+
+<div class="viewcode-block" id="ElasticsearchTaskHandler.emit"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.emit">[docs]</a>    <span class="k">def</span> <span class="nf">emit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">record</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="p">:</span>
+            <span class="n">record</span><span class="o">.</span><span class="n">offset</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">time</span><span class="p">()</span> <span class="o">*</span> <span class="p">(</span><span class="mi">10</span> <span class="o">**</span> <span class="mi">9</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">emit</span><span class="p">(</span><span class="n">record</span><span class="p">)</span></div>
+
+<div class="viewcode-block" id="ElasticsearchTaskHandler.set_context"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.set_context">[docs]</a>    <span class="k">def</span> <span class="nf">set_context</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ti</span><span class="p">:</span> <span class="n" [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Provide task_instance context to airflow task handler.</span>
+
+<span class="sd">        :param ti: task instance object</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">mark_end_on_close</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">ti</span><span class="o">.</span><span class="n">raw</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">json_format</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">formatter</span> <span class="o">=</span> <span class="n">JSONFormatter</span><span class="p">(</span>
+                <span class="n">fmt</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">formatter</span><span class="o">.</span><span class="n">_fmt</span><span class="p">,</span>
+                <span class="n">json_fields</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">json_fields</span> <span class="o">+</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">offset_field</span><span class="p">],</span>
+                <span class="n">extras</span><span class="o">=</span><span class="p">{</span>
+                    <span class="s1">&#39;dag_id&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">dag_id</span><span class="p">),</span>
+                    <span class="s1">&#39;task_id&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">task_id</span><span class="p">),</span>
+                    <span class="s1">&#39;execution_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_clean_date</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">execution_date</span><span class="p">),</span>
+                    <span class="s1">&#39;try_number&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="n">ti</span><span class="o">.</span><span class="n">try_number</span><span class="p">),</span>
+                    <span class="s1">&#39;log_id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_render_log_id</span><span class="p">(</span><span class="n">ti</span><span class="p">,</span> <span class="n">ti</span><span class="o">.</span><span class="n">try_number</span><span class="p">),</span>
+                <span class="p">},</span>
+            <span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_stdout</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">context_set</span><span class="p">:</span>
+                <span class="c1"># We don&#39;t want to re-set up the handler if this logger has</span>
+                <span class="c1"># already been initialized</span>
+                <span class="k">return</span>
+
+            <span class="bp">self</span><span class="o">.</span><span class="n">handler</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">StreamHandler</span><span class="p">(</span><span class="n">stream</span><span class="o">=</span><span class="n">sys</span><span class="o">.</span><span class="n">__stdout__</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">setFormatter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">formatter</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">set_context</span><span class="p">(</span><span class="n">ti</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">context_set</span> <span class="o">=</span> <span class="kc">True</span></div>
+
+<div class="viewcode-block" id="ElasticsearchTaskHandler.close"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.close">[docs]</a>    <span class="k">def</span> <span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
+        <span class="c1"># When application exit, system shuts down all handlers by</span>
+        <span class="c1"># calling close method. Here we check if logger is already</span>
+        <span class="c1"># closed to prevent uploading the log to remote storage multiple</span>
+        <span class="c1"># times when `logging.shutdown` is called.</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">closed</span><span class="p">:</span>
+            <span class="k">return</span>
+
+        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">mark_end_on_close</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="k">return</span>
+
+        <span class="c1"># Case which context of the handler was not set.</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span>
+            <span class="k">return</span>
+
+        <span class="c1"># Reopen the file stream, because FileHandler.close() would be called</span>
+        <span class="c1"># first in logging.shutdown() and the stream in it would be set to None.</span>
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">stream</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">stream</span><span class="o">.</span><span class="n">closed</span><span class="p">:</span>  <span class="c1"># type:  [...]
+            <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">stream</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">_open</span><span class="p">()</span>  <span class="c1"># type: ignore[union-attr]</span>
+
+        <span class="c1"># Mark the end of file using end of log mark,</span>
+        <span class="c1"># so we know where to stop while auto-tailing.</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">stream</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">end_of_log_mark</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">write_stdout</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+            <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">__stdout__</span>
+
+        <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+        <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span></div>
+
+    <span class="nd">@property</span>
+<div class="viewcode-block" id="ElasticsearchTaskHandler.log_name"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.log_name">[docs]</a>    <span class="k">def</span> <span class="nf">log_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+        <span class="sd">&quot;&quot;&quot;The log name&quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">LOG_NAME</span></div>
+
+<div class="viewcode-block" id="ElasticsearchTaskHandler.get_external_log_url"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.get_external_log_url">[docs]</a>    <span class="k">def</span> <span class="nf">get_external_log_url</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">task_instance</span><s [...]
+        <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">        Creates an address for an external log collecting service.</span>
+
+<span class="sd">        :param task_instance: task instance object</span>
+<span class="sd">        :param try_number: task instance try_number to read logs from.</span>
+<span class="sd">        :return: URL to the external log collection service</span>
+<span class="sd">        :rtype: str</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="n">log_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_render_log_id</span><span class="p">(</span><span class="n">task_instance</span><span class="p">,</span> <span class="n">try_number</span><span class="p">)</span>
+        <span class="n">scheme</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> <span class="k">if</span> <span class="s1">&#39;://&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">frontend</span> <span class="k">else</span> <span class="s1">&#39;https://&#39;</span>
+        <span class="k">return</span> <span class="n">scheme</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">frontend</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">log_id</span><span class="o">=</span><span class="n">quote</span><span class="p">(</span><span class="n">log_id</span><span class="p">))</span></div>
+
+    <span class="nd">@property</span>
+<div class="viewcode-block" id="ElasticsearchTaskHandler.supports_external_link"><a class="viewcode-back" href="../../../../../_api/airflow/providers/elasticsearch/log/es_task_handler/index.html#airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler.supports_external_link">[docs]</a>    <span class="k">def</span> <span class="nf">supports_external_link</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <sp [...]
+        <span class="sd">&quot;&quot;&quot;Whether we can support external links&quot;&quot;&quot;</span>
+        <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">frontend</span><span class="p">)</span></div></div>
+
+
+<span class="k">class</span> <span class="nc">_ESJsonLogFmt</span><span class="p">:</span>
+    <span class="sd">&quot;&quot;&quot;Helper class to read ES Logs and re-format it to match settings.LOG_FORMAT&quot;&quot;&quot;</span>
+
+    <span class="c1"># A separate class is needed because &#39;self.formatter._style.format&#39; uses &#39;.__dict__&#39;</span>
+    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">json_fields</span><span class="p">:</span> <span class="n">List</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+        <span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="n">json_fields</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="fm">__setattr__</span><span class="p">(</span><span class="n">field</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span class="vm">__dict__</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kwargs</span><span class="p">)</span>
+</pre></div>
+
+    <div class="pager" role="navigation" aria-label="related navigation"><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Previous</button><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Next</button>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../../../../../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../../../../../" id="documentation_options" src="../../../../../_static/documentation_options.js"></script>
+        <script src="../../../../../_static/jquery.js"></script>
+        <script src="../../../../../_static/underscore.js"></script>
+        <script src="../../../../../_static/doctools.js"></script>
+        <script src="../../../../../_static/clipboard.min.js"></script>
+        <script src="../../../../../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/index.html b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/index.html
new file mode 100644
index 0000000..32b3f75
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_modules/index.html
@@ -0,0 +1,804 @@
+
+
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+    <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>Overview: module code &mdash; apache-airflow-providers-elasticsearch Documentation</title>
+    <link rel="stylesheet" href="../_static/_gen/css/main.min.css" type="text/css" />
+            <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+            <link rel="stylesheet" type="text/css" href="../_static/_gen/css/main.min.css" />
+            <link rel="stylesheet" type="text/css" href="../_static/copybutton.css" />
+            <link rel="stylesheet" type="text/css" href="../_static/_gen/css/main-custom.min.css" />
+            <link rel="stylesheet" type="text/css" href="../_static/graphviz.css" />
+            <link rel="shortcut icon" href="../_static/pin_32.png"/>
+            <link rel="index" title="Index" href="../genindex.html" />
+            <link rel="search" title="Search" href="../search.html" />
+    <script type="application/javascript">
+        var doNotTrack = false;
+        window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+        ga('create', 'UA-140539454-1', 'auto');
+        ga('send', 'pageview');
+    </script>
+    <script async src='https://www.google-analytics.com/analytics.js'></script>
+
+    
+</head><body class="td-section">
+    
+
+<header>
+    <nav class="js-navbar-scroll navbar">
+        <div class="navbar__icon-container">
+            <a href="/">
+                <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                    <defs>
+                        <clipPath id="clip-path">
+                            <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                        </clipPath>
+                    </defs>
+                    <g id="logo" transform="translate(-1305 -780.355)">
+                        <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                            <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258 [...]
+                                <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1 [...]
+                                <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1 [...]
+                            </g>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+        </div>
+        <div class="desktop-only navbar__menu-container">
+
+            <div class="navbar__menu-content" id="main_navbar">
+
+                <div class="navbar__links-container">
+                    
+                        <a class="navbar__text-link" href="/community/">
+                            Community
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/meetups/">
+                            Meetups
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/docs/">
+                            Documentation
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/use-cases/">
+                            Use-cases
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/announcements/">
+                            Announcements
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/blog/">
+                            Blog
+                        </a>
+                    
+                        <a class="navbar__text-link" href="/ecosystem/">
+                            Ecosystem
+                        </a>
+                    
+                </div>
+
+                
+
+            </div>
+
+        </div>
+        <div class="mobile-only navbar__drawer-container">
+            <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+                <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+                        <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+                            <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                            <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+                                <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+                <div id="close-icon" class="navbar__toggle-button--icon">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                        <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                            <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                                <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                            </g>
+                            <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                                <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                            </g>
+                        </g>
+                    </svg>
+
+                </div>
+
+            </button>
+            <div class="navbar__drawer" id="navbar-drawer">
+                <div class="navbar__menu-content" id="main_navbar">
+
+                    <div class="navbar__links-container">
+                        
+                            <a class="navbar__text-link" href="/community/">
+                                Community
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/meetups/">
+                                Meetups
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/docs/">
+                                Documentation
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/use-cases/">
+                                Use-cases
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/announcements/">
+                                Announcements
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/blog/">
+                                Blog
+                            </a>
+                        
+                            <a class="navbar__text-link" href="/ecosystem/">
+                                Ecosystem
+                            </a>
+                        
+
+                    </div>
+                    
+
+                </div>
+            </div>
+        </div>
+    </nav>
+
+</header>
+
+
+    <div class="roadmap container-fluid td-default base-layout">
+        
+        
+    <div class="content-drawer-wrapper">
+        <button class="content-drawer__toggle-button" id="content-open-button">
+
+            <div id="hamburger-icon" class="content-drawer__toggle-button--icon visible">
+                <svg xmlns="http://www.w3.org/2000/svg" width="20.005" height="13.879" viewBox="0 0 20.005 13.879">
+                    <g id="Group_1619" data-name="Group 1619" transform="translate(271.132 -418.872)">
+                        <g id="Group_1613" data-name="Group 1613" transform="translate(-266.229 431.045)">
+                            <path id="Path_1337" d="M-218.5 513.215h-14.583a.259.259 0 0 1-.259-.26.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.26z" fill="#51504f" data-name="Path 1337" transform="translate(233.345 -512.696)"></path>
+                        </g>
+                        <g id="Group_1614" data-name="Group 1614" transform="translate(-266.229 425.684)">
+                            <path id="Path_1338" d="M-218.5 471.9h-14.583a.259.259 0 0 1-.259-.26.26.26 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.26.26 0 0 1-.259.26z" fill="#51504f" data-name="Path 1338" transform="translate(233.345 -471.376)"></path>
+                        </g>
+                        <g id="Group_1615" data-name="Group 1615" transform="translate(-266.229 420.323)">
+                            <path id="Path_1339" d="M-218.5 430.574h-14.583a.259.259 0 0 1-.259-.259.259.259 0 0 1 .259-.259h14.583a.26.26 0 0 1 .259.259.259.259 0 0 1-.259.259z" fill="#51504f" data-name="Path 1339" transform="translate(233.345 -430.055)"></path>
+                        </g>
+                        <g id="Group_1616" data-name="Group 1616" transform="translate(-271.132 429.814)">
+                            <path id="Path_1340" d="M-269.663 506.145a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1340" transform="translate(271.132 -503.208)"></path>
+                        </g>
+                        <g id="Group_1617" data-name="Group 1617" transform="translate(-271.132 424.556)">
+                            <path id="Path_1341" d="M-269.663 465.62a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.952z" fill="#51504f" data-name="Path 1341" transform="translate(271.132 -462.683)"></path>
+                        </g>
+                        <g id="Group_1618" data-name="Group 1618" transform="translate(-271.132 418.872)">
+                            <path id="Path_1342" d="M-269.663 421.809a1.47 1.47 0 0 1-1.469-1.469 1.47 1.47 0 0 1 1.469-1.469 1.47 1.47 0 0 1 1.469 1.469 1.47 1.47 0 0 1-1.469 1.469zm0-2.418a.951.951 0 0 0-.95.95.951.951 0 0 0 .95.95.951.951 0 0 0 .95-.95.951.951 0 0 0-.95-.95z" fill="#51504f" data-name="Path 1342" transform="translate(271.132 -418.872)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+                <span class="bodytext__mobile--brownish-grey">Content</span>
+            </div>
+
+        </button>
+        <nav id="content-navbar" class="navbar navbar--hidden">
+            <div class="navbar__icon-container">
+                <a href="/">
+                    <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+                        <defs>
+                            <clipPath id="clip-path">
+                                <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"></path>
+                            </clipPath>
+                        </defs>
+                        <g id="logo" transform="translate(-1305 -780.355)">
+                            <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+                                <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+                                    <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"></path>
+                                    <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"></path>
+                                    <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"></path>
+                                    <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"></path>
+                                    <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"></path>
+                                    <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"></path>
+                                    <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"></path>
+                                    <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"></path>
+                                    <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"></circle>
+                                    <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178 [...]
+                                    <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0 [...]
+                                    <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482- [...]
+                                </g>
+                            </g>
+                        </g>
+                    </svg>
+
+                </a>
+            </div>
+
+            <div id="content-close-button">
+                <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+                    <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+                        <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+                            <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"></rect>
+                        </g>
+                        <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+                            <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"></rect>
+                        </g>
+                    </g>
+                </svg>
+
+            </div>
+
+        </nav>
+        <div class="content-drawer-container" id="content-drawer">
+            <div class="content-drawer">
+                <div class="td-sidebar">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../_api/airflow/providers/elasticsearch/index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+                </div>
+            </div>
+        </div>
+    </div>
+        
+        <div class="d-flex">
+            
+            
+    <div class="td-sidebar desktop-only d-print-none">
+
+<div id="docs-version-selector" class="docs-version-selector sidebar__version-selector">
+    <a class="dropdown-toggle" href="#" id="versionDropdown" role="button" data-toggle="dropdown" aria-haspopup="true"
+       aria-expanded="false">
+        <span class="bodytext__medium--greyish-brown">Version: </span><span class="version">2.2.0</span>
+    </a>
+    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+    </div>
+    <script type="application/x-template" id="version-item-template">
+        <a class="dropdown-item"></a>
+    </script>
+</div>
+
+<div class="searchb-box">
+    <form class="search-form" action="../search.html" method="get">
+        <input class="search-form__input" type="text" name="q" placeholder="Search docs" size="16">
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+
+        <button class="search-form__button" type="submit">
+
+            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
+                <g id="Group_1579" data-name="Group 1579" transform="translate(-41.001 -41)">
+                    <path id="Path_169" d="M71.415 64.687a7.215 7.215 0 1 0-6.729 6.728 7.222 7.222 0 0 0 6.729-6.728z" fill="none" data-name="Path 169" transform="translate(-14.277 -14.276)"></path>
+                    <path id="Path_170" d="M60.863 59.8l-6.093-6.09a7.78 7.78 0 1 0-1.06 1.06l6.09 6.093a.468.468 0 0 0 .662 0l.4-.4a.468.468 0 0 0 .001-.663zM42.512 49.183a6.274 6.274 0 1 1 5.851 5.85 6.28 6.28 0 0 1-5.851-5.85z" fill="#51504f" data-name="Path 170"></path>
+                </g>
+            </svg>
+        </button>
+    </form>
+</div>
+
+
+<style>
+    .searchb-box {
+        margin-bottom: 26px;
+    }
+    .searchb-box .search-form {
+        width: 100%;
+        margin-top: 20px;
+    }
+</style>
+
+
+<div class="toctree" role="navigation" aria-label="main navigation">
+    <p class="caption" role="heading"><span class="caption-text">Guides</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../connections/elasticsearch.html">Connection types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../logging/index.html">Logging for Tasks</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">References</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../_api/airflow/providers/elasticsearch/index.html">Python API</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags">Example DAGs</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Resources</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference external" href="https://pypi.org/project/apache-airflow-providers-elasticsearch/">PyPI Repository</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installing-providers-from-sources.html">Installing from sources</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Commits</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../commits.html">Detailed list of commits</a></li>
+</ul>
+
+</div>
+
+<style type="text/css">
+    .toctree {
+    }
+    .toctree li {
+        list-style: none;
+    }
+    .toctree .caption {
+        font-family: Roboto;
+        font-size: 18px;
+        font-weight: bold;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.33;
+        letter-spacing: normal;
+        color: #51504f;
+        padding-bottom: 13px;
+        text-transform: uppercase;
+        margin-bottom: 0;
+    }
+    .toctree .current > a:not([href="#"])  {
+        color: #017cee;
+    }
+    .toctree > ul {
+        padding-left: 0;
+    }
+    .toctree ul {
+        padding-left: 15px;
+        display: none;
+    }
+    .toctree > ul,
+    .toctree li.current > ul {
+        display: block;
+    }
+
+    .toctree a .toctree-expand {
+        display: inline-block;
+        position: relative;
+        height: 1em;
+    }
+
+    .toctree a .toctree-expand:before {
+        position: absolute;
+        top: 6px;
+        left: -12px;
+        content: 'â–º';
+        font-size: 7px;
+    }
+    .toctree .current > a > .toctree-expand:before {
+        content: 'â–¼';
+    }
+
+    .toctree .current {
+        color: #017cee;
+    }
+    .toctree li {
+        font-family: Roboto;
+        font-size: 16px;
+        font-weight: normal;
+        font-stretch: normal;
+        font-style: normal;
+        line-height: 1.63;
+        letter-spacing: normal;
+        color: #707070;
+    }
+
+</style>
+    </div>
+            
+
+            
+
+            <main class="col-12 col-md-9 col-xl-8" role="main">
+                
+
+
+    
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation" class="d-none d-md-block d-print-none">
+
+    <ul class="breadcrumb">
+        
+            <li class="breadcrumb-item"><a href="../index.html" class="icon icon-home"> Home</a></li>
+            
+            <li class="breadcrumb-item"><a href="index.html"> Overview: module code</a></li>
+        
+    </ul>
+</div>
+                
+                <div class="rst-content">
+                    <div class="document">
+                            <div class="documentwrapper">
+                                <div class="bodywrapper">
+                                    <div class="body" role="main">
+                                        
+  <h1>All modules for which code is available</h1>
+<ul><li><a href="airflow/providers/elasticsearch/hooks/elasticsearch.html">airflow.providers.elasticsearch.hooks.elasticsearch</a></li>
+<li><a href="airflow/providers/elasticsearch/log/es_task_handler.html">airflow.providers.elasticsearch.log.es_task_handler</a></li>
+</ul>
+
+    <div class="pager" role="navigation" aria-label="related navigation"><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Previous</button><button class="btn-hollow btn-blue bodytext__medium--cerulean-blue" disabled>Next</button>
+    </div>
+                                    </div>
+
+                                </div>
+                            </div>
+                    </div>
+                </div>
+    <div class="rating-container">
+        <p class="bodytext__medium--greyish-brown font-weight-500">Was this entry helpful?</p>
+        <div class="rating">
+
+            <div id="rate-star-5" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-4" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-3" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-2" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+            <div id="rate-star-1" class="rate-star">
+                <svg xmlns="http://www.w3.org/2000/svg" width="21.05" height="20.02" viewBox="0 0 21.05 20.02">
+                    <g id="Group_806" data-name="Group 806" transform="translate(-774.404 -13.178)">
+                        <path id="Path_715" d="M791.434 33.2l-6.5-3.42-6.5 3.42 1.242-7.243-5.262-5.13 7.273-1.057 3.252-6.59 3.252 6.59 7.273 1.057-5.262 5.13z" fill="#017cee" data-name="Path 715"></path>
+                    </g>
+                </svg>
+
+            </div>
+
+        </div>
+    </div>
+                
+            </main>
+            
+
+            
+            
+    <nav class="wy-nav-side-toc">
+        <div class="wy-menu-vertical">
+            
+        </div>
+    </nav>
+            
+        </div>
+        
+
+
+    
+
+
+
+
+
+
+
+    </div>
+
+
+    
+
+<footer>
+    <div class="footer-section footer-section__media-section">
+        <div class="d-flex align-items-center">
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+                    <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.3 [...]
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/issues">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
+                    <g id="Group_210" data-name="Group 210" transform="translate(-339.789 -1315.282)">
+                        <path id="Path_218" d="M394.82 1315.282h-21.671a9.784 9.784 0 0 0 9.784 9.778h3.986v3.857a9.784 9.784 0 0 0 9.784 9.771v-21.523a1.884 1.884 0 0 0-1.883-1.883z" fill="#fff" data-name="Path 218" transform="translate(-11.914)"></path>
+                        <path id="Path_219" d="M378.14 1332.072h-21.671a9.778 9.778 0 0 0 9.778 9.778h4.018v3.857a9.784 9.784 0 0 0 9.752 9.778v-21.536a1.877 1.877 0 0 0-1.877-1.877z" fill="#fff" data-name="Path 219" transform="translate(-5.957 -5.996)"></path>
+                        <path id="Path_220" d="M361.46 1348.862h-21.671a9.778 9.778 0 0 0 9.778 9.778h3.992v3.857a9.778 9.778 0 0 0 9.778 9.778v-21.529a1.883 1.883 0 0 0-1.877-1.884z" fill="#fff" data-name="Path 220" transform="translate(0 -11.993)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://s.apache.org/airflow-slack">
+                <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+                    <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+                        <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+                            <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"></path>
+                            <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"></path>
+                        </g>
+                        <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+                            <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"></path>
+                            <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"></path>
+                        </g>
+                        <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+                            <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"></path>
+                            <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"></path>
+                        </g>
+                        <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+                            <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"></path>
+                            <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"></path>
+                        </g>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+                    <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+                        <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"></path>
+                        <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"></path>
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://twitter.com/ApacheAirflow">
+                <svg xmlns="http://www.w3.org/2000/svg" width="44.355" height="44.355" viewBox="0 0 44.355 44.355">
+                    <g id="Group_211" data-name="Group 211" transform="translate(-503 -1382.2)">
+                        <path id="Path_221" d="M541.811 1382.2h-33.267a5.546 5.546 0 0 0-5.544 5.544v33.266a5.547 5.547 0 0 0 5.544 5.545h33.267a5.546 5.546 0 0 0 5.544-5.545v-33.266a5.546 5.546 0 0 0-5.544-5.544zm-5.611 16.533c.011.244.011.488.011.732 0 7.507-5.722 16.178-16.179 16.178a16.173 16.173 0 0 1-8.7-2.539 10.92 10.92 0 0 0 1.353.078 11.4 11.4 0 0 0 7.064-2.44 5.685 5.685 0 0 1-5.311-3.947 5.725 5.725 0 0 0 2.561-.1 5.7 5.7 0 0 1-4.557-5.578v-.078a5.752 5.752 0 0 0 2.572.71 5.7 [...]
+                    </g>
+                </svg>
+
+            </a>
+
+            <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA">
+                <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+                    <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223 [...]
+                </svg>
+
+            </a>
+
+        </div>
+        
+
+        <div class="footer-section__media-section--button-with-text">
+            <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+            <a href="/community">
+
+                <button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+            </a>
+        </div>
+        
+
+    </div>
+    <div class="footer-section footer-section__policies-section">
+        <div class="footer-section">
+            <span>© The Apache Software Foundation <script>document.write(new Date().getFullYear())</script></span>
+            <div class="footer-section__policies-section--policies">
+
+                <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+                    <span>License</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+                    <span>Donate</span>
+                </a>
+
+                <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+                    <span>Thanks</span>
+                </a>
+
+                <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+                    <span>Security</span>
+                </a>
+                
+
+            </div>
+        </div>
+        <span class="footer-section__policies-section--disclaimer">
+            Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.
+            All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+        </span>
+    </div>
+</footer>
+    <script type="text/javascript" src="../_static/_gen/js/docs.js"></script>
+    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+        <script src="../_static/clipboard.min.js"></script>
+        <script src="../_static/copybutton.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.rst.txt
new file mode 100644
index 0000000..f4c0d30
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/hooks/elasticsearch/index.rst.txt
@@ -0,0 +1,63 @@
+:py:mod:`airflow.providers.elasticsearch.hooks.elasticsearch`
+=============================================================
+
+.. py:module:: airflow.providers.elasticsearch.hooks.elasticsearch
+
+
+Module Contents
+---------------
+
+Classes
+~~~~~~~
+
+.. autoapisummary::
+
+   airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook
+
+
+
+
+.. py:class:: ElasticsearchHook(schema = 'http', connection = None, *args, **kwargs)
+
+   Bases: :py:obj:`airflow.hooks.dbapi.DbApiHook`
+
+   Interact with Elasticsearch through the elasticsearch-dbapi.
+
+   This hook uses the Elasticsearch conn_id.
+
+   :param elasticsearch_conn_id: The :ref:`ElasticSearch connection id <howto/connection:elasticsearch>`
+       used for Elasticsearch credentials.
+
+   .. py:attribute:: conn_name_attr
+      :annotation: = elasticsearch_conn_id
+
+      
+
+   .. py:attribute:: default_conn_name
+      :annotation: = elasticsearch_default
+
+      
+
+   .. py:attribute:: conn_type
+      :annotation: = elasticsearch
+
+      
+
+   .. py:attribute:: hook_name
+      :annotation: = Elasticsearch
+
+      
+
+   .. py:method:: get_conn(self)
+
+      Returns a elasticsearch connection object
+
+
+   .. py:method:: get_uri(self)
+
+      Extract the URI from the connection.
+
+      :return: the extracted uri.
+
+
+
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/hooks/index.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/hooks/index.rst.txt
new file mode 100644
index 0000000..df18a5a
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/hooks/index.rst.txt
@@ -0,0 +1,15 @@
+:py:mod:`airflow.providers.elasticsearch.hooks`
+===============================================
+
+.. py:module:: airflow.providers.elasticsearch.hooks
+
+
+Submodules
+----------
+.. toctree::
+   :titlesonly:
+   :maxdepth: 1
+
+   elasticsearch/index.rst
+
+
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/index.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/index.rst.txt
new file mode 100644
index 0000000..89fca88
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/index.rst.txt
@@ -0,0 +1,16 @@
+:py:mod:`airflow.providers.elasticsearch`
+=========================================
+
+.. py:module:: airflow.providers.elasticsearch
+
+
+Subpackages
+-----------
+.. toctree::
+   :titlesonly:
+   :maxdepth: 3
+
+   hooks/index.rst
+   log/index.rst
+
+
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/log/es_task_handler/index.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/log/es_task_handler/index.rst.txt
new file mode 100644
index 0000000..f8b2a18
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/log/es_task_handler/index.rst.txt
@@ -0,0 +1,123 @@
+:py:mod:`airflow.providers.elasticsearch.log.es_task_handler`
+=============================================================
+
+.. py:module:: airflow.providers.elasticsearch.log.es_task_handler
+
+
+Module Contents
+---------------
+
+Classes
+~~~~~~~
+
+.. autoapisummary::
+
+   airflow.providers.elasticsearch.log.es_task_handler.ElasticsearchTaskHandler
+
+
+
+
+Attributes
+~~~~~~~~~~
+
+.. autoapisummary::
+
+   airflow.providers.elasticsearch.log.es_task_handler.EsLogMsgType
+
+
+.. py:data:: EsLogMsgType
+   
+
+   
+
+.. py:class:: ElasticsearchTaskHandler(base_log_folder, filename_template, log_id_template, end_of_log_mark, write_stdout, json_format, json_fields, host_field = 'host', offset_field = 'offset', host = 'localhost:9200', frontend = 'localhost:5601', es_kwargs = conf.getsection('elasticsearch_configs'))
+
+   Bases: :py:obj:`airflow.utils.log.file_task_handler.FileTaskHandler`, :py:obj:`airflow.utils.log.logging_mixin.ExternalLoggingMixin`, :py:obj:`airflow.utils.log.logging_mixin.LoggingMixin`
+
+   ElasticsearchTaskHandler is a python log handler that
+   reads logs from Elasticsearch. Note that Airflow does not handle the indexing
+   of logs into Elasticsearch. Instead, Airflow flushes logs
+   into local files. Additional software setup is required
+   to index the logs into Elasticsearch, such as using
+   Filebeat and Logstash.
+   To efficiently query and sort Elasticsearch results, this handler assumes each
+   log message has a field `log_id` consists of ti primary keys:
+   `log_id = {dag_id}-{task_id}-{execution_date}-{try_number}`
+   Log messages with specific log_id are sorted based on `offset`,
+   which is a unique integer indicates log message's order.
+   Timestamps here are unreliable because multiple log messages
+   might have the same timestamp.
+
+   .. py:attribute:: PAGE
+      :annotation: = 0
+
+      
+
+   .. py:attribute:: MAX_LINE_PER_PAGE
+      :annotation: = 1000
+
+      
+
+   .. py:attribute:: LOG_NAME
+      :annotation: = Elasticsearch
+
+      
+
+   .. py:method:: es_read(self, log_id, offset, metadata)
+
+      Returns the logs matching log_id in Elasticsearch and next offset.
+      Returns '' if no log is found or there was an error.
+
+      :param log_id: the log_id of the log to read.
+      :param offset: the offset start to read log from.
+      :param metadata: log metadata, used for steaming log download.
+
+
+   .. py:method:: emit(self, record)
+
+      Do whatever it takes to actually log the specified logging record.
+
+      This version is intended to be implemented by subclasses and so
+      raises a NotImplementedError.
+
+
+   .. py:method:: set_context(self, ti)
+
+      Provide task_instance context to airflow task handler.
+
+      :param ti: task instance object
+
+
+   .. py:method:: close(self)
+
+      Tidy up any resources used by the handler.
+
+      This version removes the handler from an internal map of handlers,
+      _handlers, which is used for handler lookup by name. Subclasses
+      should ensure that this gets called from overridden close()
+      methods.
+
+
+   .. py:method:: log_name(self)
+      :property:
+
+      The log name
+
+
+   .. py:method:: get_external_log_url(self, task_instance, try_number)
+
+      Creates an address for an external log collecting service.
+
+      :param task_instance: task instance object
+      :param try_number: task instance try_number to read logs from.
+      :return: URL to the external log collection service
+      :rtype: str
+
+
+   .. py:method:: supports_external_link(self)
+      :property:
+
+      Whether we can support external links
+
+
+
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/log/index.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/log/index.rst.txt
new file mode 100644
index 0000000..5955509
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/_api/airflow/providers/elasticsearch/log/index.rst.txt
@@ -0,0 +1,15 @@
+:py:mod:`airflow.providers.elasticsearch.log`
+=============================================
+
+.. py:module:: airflow.providers.elasticsearch.log
+
+
+Submodules
+----------
+.. toctree::
+   :titlesonly:
+   :maxdepth: 1
+
+   es_task_handler/index.rst
+
+
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/commits.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/commits.rst.txt
new file mode 100644
index 0000000..c7a9ecc
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/commits.rst.txt
@@ -0,0 +1,224 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+
+Package apache-airflow-providers-elasticsearch
+------------------------------------------------------
+
+`Elasticsearch <https://www.elastic.co/elasticsearch>`__
+
+
+This is detailed commit list of changes for versions provider package: ``elasticsearch``.
+For high-level changelog, see :doc:`package information including changelog <index>`.
+
+
+
+2.2.0
+.....
+
+Latest change: 2022-02-12
+
+================================================================================================  ===========  ============================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  ============================================================================
+`44bd211b1 <https://github.com/apache/airflow/commit/44bd211b19dcb75eeb53ced5bea2cf0c80654b1a>`_  2022-02-12   ``Use compat data interval shim in log handlers (#21289)``
+`0a3ff43d4 <https://github.com/apache/airflow/commit/0a3ff43d41d33d05fb3996e61785919effa9a2fa>`_  2022-02-08   ``Add pre-commit check for docstring param types (#21398)``
+`d94fa3783 <https://github.com/apache/airflow/commit/d94fa378305957358b910cfb1fe7cb14bc793804>`_  2022-02-08   ``Fixed changelog for January 2022 (delayed) provider's release (#21439)``
+`6184facba <https://github.com/apache/airflow/commit/6184facbaa6c654d15d493b9de918e7ee74b3cce>`_  2022-02-07   ``Emit "logs not found" message when ES logs appear to be missing (#21261)``
+`d8c4449a9 <https://github.com/apache/airflow/commit/d8c4449a91b9b93691c03e1af45bdedc5e23fd5e>`_  2022-02-06   ``Clarify ElasticsearchTaskHandler docstring (#21255)``
+`6c3a67d4f <https://github.com/apache/airflow/commit/6c3a67d4fccafe4ab6cd9ec8c7bacf2677f17038>`_  2022-02-05   ``Add documentation for January 2021 providers release (#21257)``
+`602abe839 <https://github.com/apache/airflow/commit/602abe8394fafe7de54df7e73af56de848cdf617>`_  2022-01-20   ``Remove ':type' lines now sphinx-autoapi supports typehints (#20951)``
+`f77417eb0 <https://github.com/apache/airflow/commit/f77417eb0d3f12e4849d80645325c02a48829278>`_  2021-12-31   ``Fix K8S changelog to be PyPI-compatible (#20614)``
+`97496ba2b <https://github.com/apache/airflow/commit/97496ba2b41063fa24393c58c5c648a0cdb5a7f8>`_  2021-12-31   ``Update documentation for provider December 2021 release (#20523)``
+`6e51608f2 <https://github.com/apache/airflow/commit/6e51608f28f4c769c019624ea0caaa0c6e671f80>`_  2021-12-16   ``Fix mypy for providers: elasticsearch, oracle, yandex (#20344)``
+`853576d90 <https://github.com/apache/airflow/commit/853576d9019d2aca8de1d9c587c883dcbe95b46a>`_  2021-11-30   ``Update documentation for November 2021 provider's release (#19882)``
+`fe682ec3d <https://github.com/apache/airflow/commit/fe682ec3d376f0983410d64beb4f3529fb7b0f99>`_  2021-11-24   ``Fix duplicate changelog entries (#19759)``
+================================================================================================  ===========  ============================================================================
+
+2.1.0
+.....
+
+Latest change: 2021-10-29
+
+================================================================================================  ===========  ===========================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  ===========================================================================
+`d9567eb10 <https://github.com/apache/airflow/commit/d9567eb106929b21329c01171fd398fbef2dc6c6>`_  2021-10-29   ``Prepare documentation for October Provider's release (#19321)``
+`840ea3efb <https://github.com/apache/airflow/commit/840ea3efb9533837e9f36b75fa527a0fbafeb23a>`_  2021-09-30   ``Update documentation for September providers release (#18613)``
+`de9b02f79 <https://github.com/apache/airflow/commit/de9b02f797931efbd081996b4f81ba14ca76a17d>`_  2021-09-28   ``Updating the Elasticsearch example DAG to use the TaskFlow API (#18565)``
+`060345c0d <https://github.com/apache/airflow/commit/060345c0d982765e39da5fa8b2e2c6a01e89e394>`_  2021-09-21   ``Add docs for AIP 39: Timetables (#17552)``
+`a0a05ffed <https://github.com/apache/airflow/commit/a0a05ffeddab54199e43b76016703c7ccaed3cd1>`_  2021-09-04   ``Adds example showing the ES_hook (#17944)``
+================================================================================================  ===========  ===========================================================================
+
+2.0.3
+.....
+
+Latest change: 2021-08-30
+
+================================================================================================  ===========  ============================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  ============================================================================
+`0a6858847 <https://github.com/apache/airflow/commit/0a68588479e34cf175d744ea77b283d9d78ea71a>`_  2021-08-30   ``Add August 2021 Provider's documentation (#17890)``
+`be75dcd39 <https://github.com/apache/airflow/commit/be75dcd39cd10264048c86e74110365bd5daf8b7>`_  2021-08-23   ``Update description about the new ''connection-types'' provider meta-data``
+`76ed2a49c <https://github.com/apache/airflow/commit/76ed2a49c6cd285bf59706cf04f39a7444c382c9>`_  2021-08-19   ``Import Hooks lazily individually in providers manager (#17682)``
+`29aab6434 <https://github.com/apache/airflow/commit/29aab6434ffe0fb8c83b6fd6c9e44310966d496a>`_  2021-08-17   ``Adds secrets backend/logging/auth information to provider yaml (#17625)``
+`944dc32c2 <https://github.com/apache/airflow/commit/944dc32c2b4a758564259133a08f2ea8d28dcb6c>`_  2021-08-12   ``Fix Invalid log order in ElasticsearchTaskHandler (#17551)``
+================================================================================================  ===========  ============================================================================
+
+2.0.2
+.....
+
+Latest change: 2021-06-28
+
+================================================================================================  ===========  ===========================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  ===========================================================
+`866a601b7 <https://github.com/apache/airflow/commit/866a601b76e219b3c043e1dbbc8fb22300866351>`_  2021-06-28   ``Removes pylint from our toolchain (#16682)``
+`6f445e69c <https://github.com/apache/airflow/commit/6f445e69c3c9d95bff18f327aeeab126cc36a6e1>`_  2021-06-26   ``Update release documentation for elasticsearch (#16662)``
+================================================================================================  ===========  ===========================================================
+
+2.0.1
+.....
+
+Latest change: 2021-06-18
+
+================================================================================================  ===========  =====================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  =====================================================================
+`bbc627a3d <https://github.com/apache/airflow/commit/bbc627a3dab17ba4cf920dd1a26dbed6f5cebfd1>`_  2021-06-18   ``Prepares documentation for rc2 release of Providers (#16501)``
+`3cf67be38 <https://github.com/apache/airflow/commit/3cf67be3875fa0b91408ed0433779970e4f6acf5>`_  2021-06-16   ``Support non-https elasticsearch external links (#16489)``
+`247ba3187 <https://github.com/apache/airflow/commit/247ba31872aa5a8a9e92f781a6beba75945ece1b>`_  2021-06-16   ``Fix Elasticsearch external log link with ''json_format'' (#16467)``
+`5e12b3de3 <https://github.com/apache/airflow/commit/5e12b3de31dd1cf3d6e5088edbf497f91dcae4d8>`_  2021-06-16   ``Remove support jinja templated log_id in elasticsearch (#16465)``
+`cbf8001d7 <https://github.com/apache/airflow/commit/cbf8001d7630530773f623a786f9eb319783b33c>`_  2021-06-16   ``Synchronizes updated changelog after buggfix release (#16464)``
+`e31e515b2 <https://github.com/apache/airflow/commit/e31e515b28a745b7428b42f1559ab456305fb3a0>`_  2021-06-15   ``Fix external elasticsearch logs link (#16357)``
+`1fba5402b <https://github.com/apache/airflow/commit/1fba5402bb14b3ffa6429fdc683121935f88472f>`_  2021-06-15   ``More documentation update for June providers release (#16405)``
+`e8d3de828 <https://github.com/apache/airflow/commit/e8d3de828f834ea9527c8d3d0d434675c0b3ee41>`_  2021-06-15   ``Add ElasticSearch Connection Doc (#16436)``
+`5cd0bf733 <https://github.com/apache/airflow/commit/5cd0bf733b839951c075c54e808a595ac923c4e8>`_  2021-06-11   ``Support remote logging in elasticsearch with filebeat 7 (#14625)``
+`9c94b72d4 <https://github.com/apache/airflow/commit/9c94b72d440b18a9e42123d20d48b951712038f9>`_  2021-06-07   ``Updated documentation for June 2021 provider release (#16294)``
+`3bdcd1a7d <https://github.com/apache/airflow/commit/3bdcd1a7d46ca06115a93b97f394486e0acaf52d>`_  2021-06-05   ``Docs: Fix url for ''Elasticsearch'' (#16275)``
+`476d0f6e3 <https://github.com/apache/airflow/commit/476d0f6e3d2059f56532cda36cdc51aa86bafb37>`_  2021-05-22   ``Bump pyupgrade v2.13.0 to v2.18.1 (#15991)``
+================================================================================================  ===========  =====================================================================
+
+1.0.4
+.....
+
+Latest change: 2021-05-01
+
+================================================================================================  ===========  =============================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  =============================================================================
+`807ad32ce <https://github.com/apache/airflow/commit/807ad32ce59e001cb3532d98a05fa7d0d7fabb95>`_  2021-05-01   ``Prepares provider release after PIP 21 compatibility (#15576)``
+`657384615 <https://github.com/apache/airflow/commit/657384615fafc060f9e2ed925017306705770355>`_  2021-04-27   ``Fix 'logging.exception' redundancy (#14823)``
+`71c673e42 <https://github.com/apache/airflow/commit/71c673e427a89cae2a9f3174c32c5c85556d6342>`_  2021-04-22   ``Update Docstrings of Modules with Missing Params (#15391)``
+`5da831910 <https://github.com/apache/airflow/commit/5da831910c358ecbd7a5c33ee31fe0d909508bea>`_  2021-04-10   ``Fix exception caused by missing keys in the ElasticSearch Record (#15163)``
+`68e4c4dcb <https://github.com/apache/airflow/commit/68e4c4dcb0416eb51a7011a3bb040f1e23d7bba8>`_  2021-03-20   ``Remove Backport Providers (#14886)``
+`eb884cd38 <https://github.com/apache/airflow/commit/eb884cd380f2f010b027bf6657f4da2e2e3309aa>`_  2021-03-14   ``Add elasticsearch to the fixes of backport providers (#14763)``
+================================================================================================  ===========  =============================================================================
+
+1.0.3
+.....
+
+Latest change: 2021-03-13
+
+================================================================================================  ===========  ===================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  ===================================================================
+`662cb8c6a <https://github.com/apache/airflow/commit/662cb8c6ac8becb26ff405f8b21acfccdd8de2ae>`_  2021-03-13   ``Prepare for releasing Elasticsearch Provider 1.0.3 (#14748)``
+`923bde2b9 <https://github.com/apache/airflow/commit/923bde2b917099135adfe470a5453f663131fd5f>`_  2021-03-09   ``Elasticsearch Provider: Fix logs downloading for tasks (#14686)``
+================================================================================================  ===========  ===================================================================
+
+1.0.2
+.....
+
+Latest change: 2021-02-27
+
+================================================================================================  ===========  =======================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  =======================================================================
+`589d6dec9 <https://github.com/apache/airflow/commit/589d6dec922565897785bcbc5ac6bb3b973d7f5d>`_  2021-02-27   ``Prepare to release the next wave of providers: (#14487)``
+`10343ec29 <https://github.com/apache/airflow/commit/10343ec29f8f0abc5b932ba26faf49bc63c6bcda>`_  2021-02-05   ``Corrections in docs and tools after releasing provider RCs (#14082)``
+================================================================================================  ===========  =======================================================================
+
+1.0.1
+.....
+
+Latest change: 2021-02-04
+
+================================================================================================  ===========  =====================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  =====================================================================
+`88bdcfa0d <https://github.com/apache/airflow/commit/88bdcfa0df5bcb4c489486e05826544b428c8f43>`_  2021-02-04   ``Prepare to release a new wave of providers. (#14013)``
+`ac2f72c98 <https://github.com/apache/airflow/commit/ac2f72c98dc0821b33721054588adbf2bb53bb0b>`_  2021-02-01   ``Implement provider versioning tools (#13767)``
+`3fd5ef355 <https://github.com/apache/airflow/commit/3fd5ef355556cf0ad7896bb570bbe4b2eabbf46e>`_  2021-01-21   ``Add missing logos for integrations (#13717)``
+`295d66f91 <https://github.com/apache/airflow/commit/295d66f91446a69610576d040ba687b38f1c5d0a>`_  2020-12-30   ``Fix Grammar in PIP warning (#13380)``
+`b6bf25306 <https://github.com/apache/airflow/commit/b6bf25306243e78bf12528f9a080ea100a575641>`_  2020-12-25   ``Respect LogFormat when using ES logging with Json Format (#13310)``
+`6cf76d7ac <https://github.com/apache/airflow/commit/6cf76d7ac01270930de7f105fb26428763ee1d4e>`_  2020-12-18   ``Fix typo in pip upgrade command :( (#13148)``
+================================================================================================  ===========  =====================================================================
+
+1.0.0
+.....
+
+Latest change: 2020-12-09
+
+================================================================================================  ===========  =========================================================================================
+Commit                                                                                            Committed    Subject
+================================================================================================  ===========  =========================================================================================
+`32971a1a2 <https://github.com/apache/airflow/commit/32971a1a2de1db0b4f7442ed26facdf8d3b7a36f>`_  2020-12-09   ``Updates providers versions to 1.0.0 (#12955)``
+`b40dffa08 <https://github.com/apache/airflow/commit/b40dffa08547b610162f8cacfa75847f3c4ca364>`_  2020-12-08   ``Rename remaing modules to match AIP-21 (#12917)``
+`9b39f2478 <https://github.com/apache/airflow/commit/9b39f24780e85f859236672e9060b2fbeee81b36>`_  2020-12-08   ``Add support for dynamic connection form fields per provider (#12558)``
+`2037303ee <https://github.com/apache/airflow/commit/2037303eef93fd36ab13746b045d1c1fee6aa143>`_  2020-11-29   ``Adds support for Connection/Hook discovery from providers (#12466)``
+`c34ef853c <https://github.com/apache/airflow/commit/c34ef853c890e08f5468183c03dc8f3f3ce84af2>`_  2020-11-20   ``Separate out documentation building per provider  (#12444)``
+`008035450 <https://github.com/apache/airflow/commit/00803545023b096b8db4fbd6eb473843096d7ce4>`_  2020-11-18   ``Update provider READMEs for 1.0.0b2 batch release (#12449)``
+`ae7cb4a1e <https://github.com/apache/airflow/commit/ae7cb4a1e2a96351f1976cf5832615e24863e05d>`_  2020-11-17   ``Update wrong commit hash in backport provider changes (#12390)``
+`6889a333c <https://github.com/apache/airflow/commit/6889a333cff001727eb0a66e375544a28c9a5f03>`_  2020-11-15   ``Improvements for operators and hooks ref docs (#12366)``
+`7825e8f59 <https://github.com/apache/airflow/commit/7825e8f59034645ab3247229be83a3aa90baece1>`_  2020-11-13   ``Docs installation improvements (#12304)``
+`85a18e13d <https://github.com/apache/airflow/commit/85a18e13d9dec84275283ff69e34704b60d54a75>`_  2020-11-09   ``Point at pypi project pages for cross-dependency of provider packages (#12212)``
+`59eb5de78 <https://github.com/apache/airflow/commit/59eb5de78c70ee9c7ae6e4cba5c7a2babb8103ca>`_  2020-11-09   ``Update provider READMEs for up-coming 1.0.0beta1 releases (#12206)``
+`61feb6ec4 <https://github.com/apache/airflow/commit/61feb6ec453f8dda1a0e1fe3ebcc0f1e3224b634>`_  2020-11-09   ``Provider's readmes generated for elasticsearch and google packages (#12194)``
+`b2a28d159 <https://github.com/apache/airflow/commit/b2a28d1590410630d66966aa1f2b2a049a8c3b32>`_  2020-11-09   ``Moves provider packages scripts to dev (#12082)``
+`4e8f9cc8d <https://github.com/apache/airflow/commit/4e8f9cc8d02b29c325b8a5a76b4837671bdf5f68>`_  2020-11-03   ``Enable Black - Python Auto Formmatter (#9550)``
+`8c42cf1b0 <https://github.com/apache/airflow/commit/8c42cf1b00c90f0d7f11b8a3a455381de8e003c5>`_  2020-11-03   ``Use PyUpgrade to use Python 3.6 features (#11447)``
+`5a439e84e <https://github.com/apache/airflow/commit/5a439e84eb6c0544dc6c3d6a9f4ceeb2172cd5d0>`_  2020-10-26   ``Prepare providers release 0.0.2a1 (#11855)``
+`872b1566a <https://github.com/apache/airflow/commit/872b1566a11cb73297e657ff325161721b296574>`_  2020-10-25   ``Generated backport providers readmes/setup for 2020.10.29 (#11826)``
+`349b0811c <https://github.com/apache/airflow/commit/349b0811c3022605426ba57d30936240a7c2848a>`_  2020-10-20   ``Add D200 pydocstyle check (#11688)``
+`16e712971 <https://github.com/apache/airflow/commit/16e7129719f1c0940aef2a93bed81368e997a746>`_  2020-10-13   ``Added support for provider packages for Airflow 2.0 (#11487)``
+`0a0e1af80 <https://github.com/apache/airflow/commit/0a0e1af80038ef89974c3c8444461fe867945daa>`_  2020-10-03   ``Fix Broken Markdown links in Providers README TOC (#11249)``
+`ca4238eb4 <https://github.com/apache/airflow/commit/ca4238eb4d9a2aef70eb641343f59ee706d27d13>`_  2020-10-02   ``Fixed month in backport packages to October (#11242)``
+`5220e4c38 <https://github.com/apache/airflow/commit/5220e4c3848a2d2c81c266ef939709df9ce581c5>`_  2020-10-02   ``Prepare Backport release 2020.09.07 (#11238)``
+`f3e87c503 <https://github.com/apache/airflow/commit/f3e87c503081a3085dff6c7352640d7f08beb5bc>`_  2020-09-22   ``Add D202 pydocstyle check (#11032)``
+`ac943c9e1 <https://github.com/apache/airflow/commit/ac943c9e18f75259d531dbda8c51e650f57faa4c>`_  2020-09-08   ``[AIRFLOW-3964][AIP-17] Consolidate and de-dup sensor tasks using Smart Sensor (#5499)``
+`70f05ac67 <https://github.com/apache/airflow/commit/70f05ac6775152d856d212f845e9561282232844>`_  2020-09-01   ``Add 'log_id' field to log lines on ES handler (#10411)``
+`fdd9b6f65 <https://github.com/apache/airflow/commit/fdd9b6f65b608c516b8a062b058972d9a45ec9e3>`_  2020-08-25   ``Enable Black on Providers Packages (#10543)``
+`d76026545 <https://github.com/apache/airflow/commit/d7602654526fdd2876466371404784bd17cfe0d2>`_  2020-08-25   ``PyDocStyle: No whitespaces allowed surrounding docstring text (#10533)``
+`3696c34c2 <https://github.com/apache/airflow/commit/3696c34c28c6bc7b442deab999d9ecba24ed0e34>`_  2020-08-24   ``Fix typo in the word "release" (#10528)``
+`ee7ca128a <https://github.com/apache/airflow/commit/ee7ca128a17937313566f2badb6cc569c614db94>`_  2020-08-22   ``Fix broken Markdown refernces in Providers README (#10483)``
+`d5d119bab <https://github.com/apache/airflow/commit/d5d119babc97bbe3f3f690ad4a93e3b73bd3b172>`_  2020-07-21   ``Increase typing coverage for Elasticsearch (#9911)``
+`a79e2d4c4 <https://github.com/apache/airflow/commit/a79e2d4c4aa105f3fac5ae6a28e29af9cd572407>`_  2020-07-06   ``Move provider's log task handlers to the provider package (#9604)``
+`e13a14c87 <https://github.com/apache/airflow/commit/e13a14c8730f4f633d996dd7d3468fe827136a84>`_  2020-06-21   ``Enable & Fix Whitespace related PyDocStyle Checks (#9458)``
+`d0e7db402 <https://github.com/apache/airflow/commit/d0e7db4024806af35e3c9a2cae460fdeedd4d2ec>`_  2020-06-19   ``Fixed release number for fresh release (#9408)``
+`12af6a080 <https://github.com/apache/airflow/commit/12af6a08009b8776e00d8a0aab92363eb8c4e8b1>`_  2020-06-19   ``Final cleanup for 2020.6.23rc1 release preparation (#9404)``
+`c7e5bce57 <https://github.com/apache/airflow/commit/c7e5bce57fe7f51cefce4f8a41ce408ac5675d13>`_  2020-06-19   ``Prepare backport release candidate for 2020.6.23rc1 (#9370)``
+`f6bd817a3 <https://github.com/apache/airflow/commit/f6bd817a3aac0a16430fc2e3d59c1f17a69a15ac>`_  2020-06-16   ``Introduce 'transfers' packages (#9320)``
+`0b0e4f7a4 <https://github.com/apache/airflow/commit/0b0e4f7a4cceff3efe15161fb40b984782760a34>`_  2020-05-26   ``Preparing for RC3 relase of backports (#9026)``
+`00642a46d <https://github.com/apache/airflow/commit/00642a46d019870c4decb3d0e47c01d6a25cb88c>`_  2020-05-26   ``Fixed name of 20 remaining wrongly named operators. (#8994)``
+`375d1ca22 <https://github.com/apache/airflow/commit/375d1ca229464617780623c61c6e8a1bf570c87f>`_  2020-05-19   ``Release candidate 2 for backport packages 2020.05.20 (#8898)``
+`12c5e5d8a <https://github.com/apache/airflow/commit/12c5e5d8ae25fa633efe63ccf4db389e2b796d79>`_  2020-05-17   ``Prepare release candidate for backport packages (#8891)``
+`f3521fb0e <https://github.com/apache/airflow/commit/f3521fb0e36733d8bd356123e56a453fd37a6dca>`_  2020-05-16   ``Regenerate readme files for backport package release (#8886)``
+`92585ca4c <https://github.com/apache/airflow/commit/92585ca4cb375ac879f4ab331b3a063106eb7b92>`_  2020-05-15   ``Added automated release notes generation for backport operators (#8807)``
+`65dd28eb7 <https://github.com/apache/airflow/commit/65dd28eb77d996ec8306c67d5ce1ccee2c14cc9d>`_  2020-02-18   ``[AIRFLOW-1202] Create Elasticsearch Hook (#7358)``
+================================================================================================  ===========  =========================================================================================
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/connections/elasticsearch.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/connections/elasticsearch.rst.txt
new file mode 100644
index 0000000..997dea5
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/connections/elasticsearch.rst.txt
@@ -0,0 +1,73 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+
+
+.. _howto/connection:elasticsearch:
+
+ElasticSearch Connection
+========================
+
+The ElasticSearch connection that enables ElasticSearch integrations.
+
+Authenticating to ElasticSearch
+-------------------------------
+
+Authenticate with the `ElasticSearch DBAPI
+<https://pypi.org/project/elasticsearch-dbapi/>`_
+
+Default Connection IDs
+----------------------
+
+Some hooks and operators related to ElasticSearch use elasticsearch_default by default.
+
+Configuring the Connection
+--------------------------
+
+User
+    Specify the login used for the initial connection
+
+Password
+    Specify the Elasticsearch API key used for the `initial connection
+    <https://www.elastic.co/guide/en/cloud/current/ec-api-authentication.html#ec-api-authentication>`_
+
+Host
+    Specify the Elasticsearch host used for the initial connection
+
+Port
+    Specify the Elasticsearch port for the initial connection
+
+Scheme
+    Specify the schema for the Elasticsearch API. `http` by default
+
+Extra (Optional)
+    Specify the extra parameters (as json dictionary) that can be used in Azure connection.
+    The following parameters are all optional:
+
+    * ``http_compress``: specify whether or not to use ``http_compress``. False by default.
+    * ``timeout``: specify the time frame of the ``timeout``. False by default.
+
+When specifying the connection in environment variable you should specify
+it using URI syntax.
+
+Note that all components of the URI should be URL-encoded.
+
+For example:
+
+.. code-block:: bash
+
+    export AIRFLOW_CONN_ELASTICSEARCH_DEFAULT='elasticsearch://elasticsearchlogin:elasticsearchpassword@elastic.co:80/http'
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/index.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/index.rst.txt
new file mode 100644
index 0000000..c872a17
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/index.rst.txt
@@ -0,0 +1,93 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+``apache-airflow-providers-elasticsearch``
+==========================================
+
+Content
+-------
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Guides
+
+    Connection types <connections/elasticsearch>
+    Logging for Tasks <logging/index>
+
+.. toctree::
+    :maxdepth: 1
+    :caption: References
+
+    Python API <_api/airflow/providers/elasticsearch/index>
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Resources
+
+    Example DAGs <https://github.com/apache/airflow/tree/main/airflow/providers/elasticsearch/example_dags>
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Resources
+
+    PyPI Repository <https://pypi.org/project/apache-airflow-providers-elasticsearch/>
+    Installing from sources <installing-providers-from-sources>
+
+.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
+
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Commits
+
+    Detailed list of commits <commits>
+
+
+Package apache-airflow-providers-elasticsearch
+------------------------------------------------------
+
+`Elasticsearch <https://www.elastic.co/elasticsearch>`__
+
+
+Release: 2.2.0
+
+Provider package
+----------------
+
+This is a provider package for ``elasticsearch`` provider. All classes for this provider package
+are in ``airflow.providers.elasticsearch`` python package.
+
+Installation
+------------
+
+You can install this package on top of an existing Airflow 2.1+ installation via
+``pip install apache-airflow-providers-elasticsearch``
+
+PIP requirements
+----------------
+
+=======================  ==================
+PIP package              Version required
+=======================  ==================
+``apache-airflow``       ``>=2.1.0``
+``elasticsearch-dbapi``
+``elasticsearch-dsl``    ``>=5.0.0``
+``elasticsearch``        ``>7``
+=======================  ==================
+
+.. include:: ../../airflow/providers/elasticsearch/CHANGELOG.rst
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/installing-providers-from-sources.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/installing-providers-from-sources.rst.txt
new file mode 100644
index 0000000..1c90205
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/installing-providers-from-sources.rst.txt
@@ -0,0 +1,18 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+.. include:: ../installing-providers-from-sources.rst
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/logging/index.rst.txt b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/logging/index.rst.txt
new file mode 100644
index 0000000..5e16ccb
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_sources/logging/index.rst.txt
@@ -0,0 +1,102 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+.. _write-logs-elasticsearch:
+
+Writing logs to Elasticsearch
+-----------------------------
+
+Airflow can be configured to read task logs from Elasticsearch and optionally write logs to stdout in standard or json format. These logs can later be collected and forwarded to the Elasticsearch cluster using tools like fluentd, logstash or others.
+
+You can choose to have all task logs from workers output to the highest parent level process, instead of the standard file locations. This allows for some additional flexibility in container environments like Kubernetes, where container stdout is already being logged to the host nodes. From there a log shipping tool can be used to forward them along to Elasticsearch. To use this feature, set the ``write_stdout`` option in ``airflow.cfg``.
+You can also choose to have the logs output in a JSON format, using the ``json_format`` option. Airflow uses the standard Python logging module and JSON fields are directly extracted from the LogRecord object. To use this feature, set the ``json_fields`` option in ``airflow.cfg``. Add the fields to the comma-delimited string that you want collected for the logs. These fields are from the LogRecord object in the ``logging`` module. `Documentation on different attributes can be found here  [...]
+
+First, to use the handler, ``airflow.cfg`` must be configured as follows:
+
+.. code-block:: ini
+
+    [logging]
+    # Airflow can store logs remotely in AWS S3, Google Cloud Storage or Elastic Search.
+    # Users must supply an Airflow connection id that provides access to the storage
+    # location. If remote_logging is set to true, see UPDATING.md for additional
+    # configuration requirements.
+    remote_logging = True
+
+    [elasticsearch]
+    host = <host>:<port>
+    log_id_template = {dag_id}-{task_id}-{run_id}-{try_number}
+    end_of_log_mark = end_of_log
+    write_stdout =
+    json_fields =
+
+To output task logs to stdout in JSON format, the following config could be used:
+
+.. code-block:: ini
+
+    [logging]
+    # Airflow can store logs remotely in AWS S3, Google Cloud Storage or Elastic Search.
+    # Users must supply an Airflow connection id that provides access to the storage
+    # location. If remote_logging is set to true, see UPDATING.md for additional
+    # configuration requirements.
+    remote_logging = True
+
+    [elasticsearch]
+    host = <host>:<port>
+    log_id_template = {dag_id}-{task_id}-{run_id}-{try_number}
+    end_of_log_mark = end_of_log
+    write_stdout = True
+    json_format = True
+    json_fields = asctime, filename, lineno, levelname, message
+
+.. _write-logs-elasticsearch-tls:
+
+Writing logs to Elasticsearch over TLS
+''''''''''''''''''''''''''''''''''''''
+
+To add custom configurations to ElasticSearch (e.g. turning on ``ssl_verify``, adding a custom self-signed
+cert, etc.) use the ``elasticsearch_configs`` setting in your ``airflow.cfg``
+
+.. code-block:: ini
+
+    [logging]
+    # Airflow can store logs remotely in AWS S3, Google Cloud Storage or Elastic Search.
+    # Users must supply an Airflow connection id that provides access to the storage
+    # location. If remote_logging is set to true, see UPDATING.md for additional
+    # configuration requirements.
+    remote_logging = True
+
+    [elasticsearch_configs]
+    use_ssl=True
+    verify_certs=True
+    ca_certs=/path/to/CA_certs
+
+.. _log-link-elasticsearch:
+
+Elasticsearch External Link
+'''''''''''''''''''''''''''
+
+A user can configure Airflow to show a link to an Elasticsearch log viewing system (e.g. Kibana).
+
+To enable it, ``airflow.cfg`` must be configured as in the example below. Note the required ``{log_id}`` in the URL, when constructing the external link, Airflow replaces this parameter with the same ``log_id_template`` used for writing logs (see `Writing logs to Elasticsearch`_).
+
+.. code-block:: ini
+
+    [elasticsearch]
+    # Qualified URL for an elasticsearch frontend (like Kibana) with a template argument for log_id
+    # Code will construct log_id using the log_id template from the argument above.
+    # NOTE: scheme will default to https if one is not provided
+    frontend = <host_port>/{log_id}
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/css/main-custom.min.css b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/css/main-custom.min.css
new file mode 100644
index 0000000..5ed4ca5
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/css/main-custom.min.css
@@ -0,0 +1 @@
+@charset "UTF-8";@import "https://fonts.googleapis.com/css?family=Rubik:500&display=swap";@import "https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700&display=swap";@import "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700&display=swap";.header__large--cerulean-blue{font-family:rubik,sans-serif;font-weight:500;font-size:72px;line-height:1.17;color:#017cee}.header__large--shamrock{font-family:rubik,sans-serif;font-weight:500;font-size:72px;line-height:1.17;color:#00 [...]
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/css/main.min.css b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/css/main.min.css
new file mode 100644
index 0000000..603f3cb
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/css/main.min.css
@@ -0,0 +1,7 @@
+@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i";@fa-font-path:"../webfonts";/*!* Bootstrap v4.1.3 (https://getbootstrap.com/)
+* Copyright 2011-2018 The Bootstrap Authors
+* Copyright 2011-2018 Twitter, Inc.
+* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)*/:root{--blue: #72A1E5;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #BA5A31;--yellow: #ffc107;--green: #28a745;--teal: #20c997;--cyan: #17a2b8;--white: #fff;--gray: #888;--gray-dark: #333;--primary: #30638E;--secondary: #FFA630;--success: #3772FF;--info: #C0E0DE;--warning: #ED6A5A;--danger: #ED6A5A;--light: #D3F3EE;--dark: #403F4C;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakp [...]
+* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font [...]
+* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/@font-face{font-family:'font awesome 5 free';font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-so [...]
+* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/@font-face{font-family:'font awesome 5 brands';font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfont [...]
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/js/docs.js b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/js/docs.js
new file mode 100644
index 0000000..6bff3b3
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/_gen/js/docs.js
@@ -0,0 +1 @@
+!function(r){var n={};function o(t){if(n[t])return n[t].exports;var e=n[t]={i:t,l:!1,exports:{}};return r[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}o.m=r,o.c=n,o.d=function(t,e,r){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typ [...]
\ No newline at end of file
diff --git a/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/basic.css b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/basic.css
new file mode 100644
index 0000000..bf18350
--- /dev/null
+++ b/docs-archive/apache-airflow-providers-elasticsearch/2.2.0/_static/basic.css
@@ -0,0 +1,906 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+    clear: both;
+}
+
+div.section::after {
+    display: block;
+    content: '';
+    clear: left;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+    width: 100%;
+    font-size: 90%;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+    padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+    float: left;
+    width: 230px;
+    margin-left: -100%;
+    font-size: 90%;
+    word-wrap: break-word;
+    overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+    list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+    margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+    overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+    float: left;
+    width: 80%;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+    float: left;
+    width: 20%;
+    border-left: none;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+
+img {
+    border: 0;
+    max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li p.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+    width: 90%;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table.contentstable p.biglink {
+    line-height: 150%;
+}
+
+a.biglink {
+    font-size: 1.3em;
+}
+
+span.linkdescr {
+    font-style: italic;
+    padding-top: 5px;
+    font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+    width: 100%;
+}
+
+table.indextable td {
+    text-align: left;
+    vertical-align: top;
+}
+
+table.indextable ul {
+    margin-top: 0;
+    margin-bottom: 0;
+    list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+    padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+    height: 10px;
+}
+
+table.indextable tr.cap {
+    margin-top: 10px;
+    background-color: #f2f2f2;
+}
+
+img.toggler {
+    margin-right: 3px;
+    margin-top: 3px;
+    cursor: pointer;
+}
+
+div.modindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+    padding: 2px;
+    border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+    min-width: 450px;
+    max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+    -moz-hyphens: auto;
+    -ms-hyphens: auto;
+    -webkit-hyphens: auto;
+    hyphens: auto;
+}
+
+a.headerlink {
+    visibility: hidden;
+}
+
+a.brackets:before,
+span.brackets > a:before{
+    content: "[";
+}
+
+a.brackets:after,
+span.brackets > a:after {
+    content: "]";
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+    visibility: visible;
+}
+
+div.body p.caption {
+    text-align: inherit;
+}
+
+div.body td {
+    text-align: left;
+}
+
+.first {
+    margin-top: 0 !important;
+}
+
+p.rubric {
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
+    clear: left;
+    float: left;
+    margin-right: 1em;
+}
+
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
+    clear: right;
+    float: right;
+    margin-left: 1em;
+}
+
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+img.align-default, figure.align-default, .figure.align-default {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+    text-align: left;
+}
+
+.align-center {
+    text-align: center;
+}
+
+.align-default {
+    text-align: center;
+}
+
+.align-right {
+    text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar,
+aside.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+    clear: right;
+    overflow-x: auto;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
+div.admonition, div.topic, blockquote {
+    clear: left;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+    border: 1px solid #ccc;
+    padding: 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+    margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+}
+
+div.admonition dt {
+    font-weight: bold;
+}
+
+p.admonition-title {
+    margin: 0px 10px 5px 0px;
+    font-weight: bold;
+}
+
+div.body p.centered {
+    text-align: center;
+    margin-top: 25px;
+}
+
+/* -- content of sidebars/topics/admonitions -------------------------------- */
+
+div.sidebar > :last-child,
+aside.sidebar > :last-child,
+div.topic > :last-child,
+div.admonition > :last-child {
+    margin-bottom: 0;
+}
+
+div.sidebar::after,
+aside.sidebar::after,
+div.topic::after,
+div.admonition::after,
+blockquote::after {
+    display: block;
+    content: '';
+    clear: both;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    border: 0;
+    border-collapse: collapse;
+}
+
+table.align-center {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table.align-default {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table caption span.caption-number {
+    font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+    padding: 1px 8px 1px 5px;
+    border-top: 0;
+    border-left: 0;
+    border-right: 0;
+    border-bottom: 1px solid #aaa;
+}
+
+table.footnote td, table.footnote th {
+    border: 0 !important;
+}
+
+th {
+    text-align: left;
+    padding-right: 5px;
+}
+
+table.citation {
+    border-left: solid 1px gray;
+    margin-left: 1px;
+}
+
+table.citation td {
+    border-bottom: none;
+}
+
+th > :first-child,
+td > :first-child {
+    margin-top: 0px;
+}
+
+th > :last-child,
+td > :last-child {
+    margin-bottom: 0px;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure, figure {
+    margin: 0.5em;
+    padding: 0.5em;
+}
+
+div.figure p.caption, figcaption {
+    padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
+    font-style: italic;
+}
+
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
+
+.field-name {
+    -moz-hyphens: manual;
+    -ms-hyphens: manual;
+    -webkit-hyphens: manual;
+    hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist {
+    margin: 1em 0;
+}
+
+table.hlist td {
+    vertical-align: top;
+}
+
+/* -- object description styles --------------------------------------------- */
+
+.sig {
+	font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
+}
+
+.sig-name, code.descname {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+.sig-name {
+	font-size: 1.1em;
+}
+
+code.descname {
+    font-size: 1.2em;
+}
+
+.sig-prename, code.descclassname {
+    background-color: transparent;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.sig-paren {
+    font-size: larger;
+}
+
+.sig-param.n {
+	font-style: italic;
+}
+
+/* C++ specific styling */
+
+.sig-inline.c-texpr,
+.sig-inline.cpp-texpr {
+	font-family: unset;
+}
+
+.sig.c   .k, .sig.c   .kt,
+.sig.cpp .k, .sig.cpp .kt {
+	color: #0033B3;
+}
+
+.sig.c   .m,
+.sig.cpp .m {
+	color: #1750EB;
+}
+
+.sig.c   .s, .sig.c   .sc,
+.sig.cpp .s, .sig.cpp .sc {
+	color: #067D17;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+    list-style: decimal;
+}
+
+ol.loweralpha {
+    list-style: lower-alpha;
+}
+
+ol.upperalpha {
+    list-style: upper-alpha;
+}
+
+ol.lowerroman {
+    list-style: lower-roman;
+}
+
+ol.upperroman {
+    list-style: upper-roman;
+}
+
+:not(li) > ol > li:first-child > :first-child,
+:not(li) > ul > li:first-child > :first-child {
+    margin-top: 0px;
+}
+
+:not(li) > ol > li:last-child > :last-child,
+:not(li) > ul > li:last-child > :last-child {
+    margin-bottom: 0px;
+}
+
+ol.simple ol p,
+ol.simple ul p,
+ul.simple ol p,
+ul.simple ul p {
+    margin-top: 0;
+}
+
+ol.simple > li:not(:first-child) > p,
+ul.simple > li:not(:first-child) > p {
+    margin-top: 0;
+}
+
+ol.simple p,
+ul.simple p {
+    margin-bottom: 0;
+}
+
+dl.footnote > dt,
+dl.citation > dt {
+    float: left;
+    margin-right: 0.5em;
+}
+
+dl.footnote > dd,
+dl.citation > dd {
+    margin-bottom: 0em;
+}
+
+dl.footnote > dd:after,
+dl.citation > dd:after {
+    content: "";
+    clear: both;
+}
+
+dl.field-list {
+    display: grid;
+    grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+    font-weight: bold;
+    word-break: break-word;
+    padding-left: 0.5em;
+    padding-right: 5px;
+}
+
+dl.field-list > dt:after {
+    content: ":";
+}
+
+dl.field-list > dd {
+    padding-left: 0.5em;
+    margin-top: 0em;
+    margin-left: 0em;
+    margin-bottom: 0em;
+}
+
+dl {
+    margin-bottom: 15px;
+}
+
+dd > :first-child {
+    margin-top: 0px;
+}
+
+dd ul, dd table {
+    margin-bottom: 10px;
+}
+
+dd {
+    margin-top: 3px;
+    margin-bottom: 10px;
+    margin-left: 30px;
+}
+
+dl > dd:last-child,
+dl > dd:last-child > :last-child {
+    margin-bottom: 0;
+}
+
+dt:target, span.highlighted {
+    background-color: #fbe54e;
+}
+
+rect.highlighted {
+    fill: #fbe54e;
+}
+
+dl.glossary dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
+
+.versionmodified {
+    font-style: italic;
+}
+
+.system-message {
+    background-color: #fda;
+    padding: 5px;
+    border: 3px solid red;
+}
+
+.footnote:target  {
+    background-color: #ffa;
+}
+
+.line-block {
+    display: block;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+.line-block .line-block {
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+    font-family: sans-serif;
+}
+
+.accelerator {
+    text-decoration: underline;
+}
+
+.classifier {
+    font-style: oblique;
+}
+
+.classifier:before {
+    font-style: normal;
+    margin: 0 0.5em;
+    content: ":";
+    display: inline-block;
+}
+
+abbr, acronym {
+    border-bottom: dotted 1px;
+    cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+    overflow: auto;
+    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
+}
+
+pre, div[class*="highlight-"] {
+    clear: both;
+}
+
+span.pre {
+    -moz-hyphens: none;
+    -ms-hyphens: none;
+    -webkit-hyphens: none;
+    hyphens: none;
+    white-space: nowrap;
+}
+
+div[class*="highlight-"] {
+    margin: 1em 0;
+}
+
+td.linenos pre {
+    border: 0;
+    background-color: transparent;
+    color: #aaa;
+}
+
+table.highlighttable {
+    display: block;
+}
+
+table.highlighttable tbody {
+    display: block;
+}
+
+table.highlighttable tr {
+    display: flex;
+}
+
+table.highlighttable td {
+    margin: 0;
+    padding: 0;
+}
+
+table.highlighttable td.linenos {
+    padding-right: 0.5em;
+}
+
+table.highlighttable td.code {
+    flex: 1;
+    overflow: hidden;
+}
+
+.highlight .hll {
+    display: block;
+}
+
+div.highlight pre,
+table.highlighttable pre {
+    margin: 0;
+}
+
+div.code-block-caption + div {
+    margin-top: 0;
+}
+
+div.code-block-caption {
+    margin-top: 1em;
+    padding: 2px 5px;
+    font-size: small;
+}
+
+div.code-block-caption code {
+    background-color: transparent;
+}
+
+table.highlighttable td.linenos,
+span.linenos,
+div.highlight span.gp {  /* gp: Generic.Prompt */
+  user-select: none;
+  -webkit-user-select: text; /* Safari fallback only */
+  -webkit-user-select: none; /* Chrome/Safari */
+  -moz-user-select: none; /* Firefox */
+  -ms-user-select: none; /* IE10+ */
+}
+
+div.code-block-caption span.caption-number {
+    padding: 0.1em 0.3em;
+    font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+    margin: 1em 0;
+}
+
+code.xref, a code {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+    background-color: transparent;
... 644983 lines suppressed ...