# elasticsearch-tools
*Made with official Python client for Elasticsearch, [elasticsearch-py](https://github.com/elastic/elasticsearch-py/)*
## Features
* Translating basic Python data types to and from JSON
* Configurable automatic discovery of cluster nodes
* Persistent connections
* Load balancing (with pluggable selection strategy) across available nodes
* Failed connection penalization (time based - failed connections won't be
retried until a timeout is reached)
* Support for TLS and HTTP authentication
* Thread safety across requests
* Pluggable architecture
* Helper functions for idiomatically using APIs together
* Native connection object for sync and async sessions
* Connection object for dependency in Fastapi, or async generators
* Helper functions for query writing from code
## Usage elasticsearch-py
-----
* [Creating an index](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_creating_an_index)
* [Indexing a document](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_indexing_documents)
* [Getting documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_getting_documents)
* [Searching documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_searching_documents)
* [Updating documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_updating_documents)
* [Deleting documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_deleting_documents)
* [Deleting an index](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_deleting_an_index)
## Environment variables:
* field_pattern - regex for validate field, if you need
* default_nested_path - path for nested fields, if dont add to args to init
## Query types
| Class object | name for generate_query | Official |
|---------------------------|-------------------------|----------|
| ElasticQueryString | query_string | yes |
| ElasticTermQuery | term | yes |
| ElasticFuzzyQuery | fuzzy | yes |
| ElasticExistsQuery | exists | yes |
| ElasticFullMatchQuery | match_phrase | yes |
| ElasticMatchQuery | match | yes |
| ElasticRangeQuery | range | yes |
| ElasticGeoPointRangeQuery | geo_point_range | yes |
| ElasticGeoPointQuery | geo_point | no |
| ElasticNestedQuery | nested | yes |
## Official documentation
Documentation for the client is [available on elastic.co] and [Read the Docs].
[available on elastic.co]: https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html
[Read the Docs]: https://elasticsearch-py.readthedocs.io
## License
This software is licensed under the [Apache License 2.0](./LICENSE). See [NOTICE](./NOTICE).
Raw data
{
"_id": null,
"home_page": "https://github.com/Karim90403/elasticsearch-tools/",
"name": "elasticsearch-tools",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Karim90403",
"author_email": "karim90403@gmail.ru",
"download_url": "https://files.pythonhosted.org/packages/bf/6f/fd48c8f326658d758acc8bbe3c499b45ea6e124ca3908be76ba70d7f488d/elasticsearch_tools-1.0.1.tar.gz",
"platform": null,
"description": "# elasticsearch-tools\n\n*Made with official Python client for Elasticsearch, [elasticsearch-py](https://github.com/elastic/elasticsearch-py/)*\n\n\n## Features\n\n* Translating basic Python data types to and from JSON\n* Configurable automatic discovery of cluster nodes\n* Persistent connections\n* Load balancing (with pluggable selection strategy) across available nodes\n* Failed connection penalization (time based - failed connections won't be\n retried until a timeout is reached)\n* Support for TLS and HTTP authentication\n* Thread safety across requests\n* Pluggable architecture\n* Helper functions for idiomatically using APIs together\n* Native connection object for sync and async sessions\n* Connection object for dependency in Fastapi, or async generators\n* Helper functions for query writing from code\n\n## Usage elasticsearch-py\n-----\n\n* [Creating an index](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_creating_an_index)\n* [Indexing a document](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_indexing_documents)\n* [Getting documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_getting_documents)\n* [Searching documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_searching_documents)\n* [Updating documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_updating_documents)\n* [Deleting documents](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_deleting_documents)\n* [Deleting an index](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_deleting_an_index)\n\n\n## Environment variables:\n* field_pattern - regex for validate field, if you need\n* default_nested_path - path for nested fields, if dont add to args to init\n\n## Query types\n\n| Class object | name for generate_query | Official |\n|---------------------------|-------------------------|----------|\n| ElasticQueryString | query_string | yes |\n| ElasticTermQuery | term | yes |\n| ElasticFuzzyQuery | fuzzy | yes |\n| ElasticExistsQuery | exists | yes |\n| ElasticFullMatchQuery | match_phrase | yes |\n| ElasticMatchQuery | match | yes |\n| ElasticRangeQuery | range | yes |\n| ElasticGeoPointRangeQuery | geo_point_range | yes |\n| ElasticGeoPointQuery | geo_point | no |\n| ElasticNestedQuery | nested | yes |\n\n## Official documentation\n\nDocumentation for the client is [available on elastic.co] and [Read the Docs].\n\n[available on elastic.co]: https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html\n[Read the Docs]: https://elasticsearch-py.readthedocs.io\n\n## License\n\nThis software is licensed under the [Apache License 2.0](./LICENSE). See [NOTICE](./NOTICE).\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0, see LICENSE file",
"summary": "Python module for working with elasticsearch, create queries and connections",
"version": "1.0.1",
"project_urls": {
"Download": "https://github.com/Karim90403/elasticsearch-tools/archive/refs/heads/main.zip",
"Homepage": "https://github.com/Karim90403/elasticsearch-tools/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bf6ffd48c8f326658d758acc8bbe3c499b45ea6e124ca3908be76ba70d7f488d",
"md5": "f38bc9d549ff89e56e13d1dcf435880a",
"sha256": "e4249a1ad12012c2cc278f3114896829bf699406b9613edb5f0d917d4732f799"
},
"downloads": -1,
"filename": "elasticsearch_tools-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "f38bc9d549ff89e56e13d1dcf435880a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8162,
"upload_time": "2024-12-08T19:04:35",
"upload_time_iso_8601": "2024-12-08T19:04:35.524007Z",
"url": "https://files.pythonhosted.org/packages/bf/6f/fd48c8f326658d758acc8bbe3c499b45ea6e124ca3908be76ba70d7f488d/elasticsearch_tools-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-08 19:04:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Karim90403",
"github_project": "elasticsearch-tools",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "elasticsearch",
"specs": [
[
"==",
"7.15.2"
]
]
}
],
"lcname": "elasticsearch-tools"
}