{"id":13502007,"url":"https://github.com/wingify/superelasticsearch","last_synced_at":"2025-04-26T17:30:42.471Z","repository":{"id":39649473,"uuid":"43740885","full_name":"wingify/superelasticsearch","owner":"wingify","description":"An extended version of the official Elasticsearch Python client.","archived":false,"fork":false,"pushed_at":"2015-11-09T12:33:05.000Z","size":189,"stargazers_count":63,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-14T05:18:11.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wingify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-06T09:19:33.000Z","updated_at":"2024-08-21T18:06:48.000Z","dependencies_parsed_at":"2022-09-20T06:50:24.916Z","dependency_job_id":null,"html_url":"https://github.com/wingify/superelasticsearch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingify%2Fsuperelasticsearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingify%2Fsuperelasticsearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingify%2Fsuperelasticsearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingify%2Fsuperelasticsearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wingify","download_url":"https://codeload.github.com/wingify/superelasticsearch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251025549,"owners_count":21524824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T22:01:58.237Z","updated_at":"2025-04-26T17:30:42.201Z","avatar_url":"https://github.com/wingify.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# superelasticsearch\n\nsuperelasticsearch is utility library that extends a particular version of\n[elasticsearch][es] library to provide some more utility functions on top of it\nto make using [Elasticsearch][es_server] even easier.\n\n## Compatibility\n\nThis compatibility table indicates compatibility of SuperElasticsearch with\nthe versions of elasticsearch-py and Elasticsearch. This only means that we\nhave tested SuperElasticsearch with these versions of Elasticsearch and\nthe official Elasticsearch Python client. It may actually work with newer\nreleases. If such is the case, please feel free to updated this table by\nopening a pull request.\n\n| Elasticsearch  | elasticsearch-py | SuperElasticsearch | Release date |\n| -------------- | ---------------- | ------------------ | ------------ |\n| 1.7.2          | 1.7.0            | 0.1.0              | Oct 6, 2015  |\n\n## Design \u0026 Usage\n\nsuperelasticsearch is nothing but a sub-class of the Elasticsearch Python\nclient. It closely follows the API design as the Elasticsearch client library\ndoes.\n\n## Additional Python APIs\n\nSuperElasticsearch provides a few additional APIs that are sugar coated to\nsimplify using Elasticsearch in Python. These additional APIs are listed as\nfollows:\n\n### Iterated Search (or simpler Scroll API)\n\nIterated search allows you to perform scroll API with ease and helps you reduce\ncode, especially where you might want to use it in a loop. Iterated search\nreturns a generator which can be iterated in a loop to get docs in returned by\nevery Scroll API call. The best part is that the Scroll ID of every scroll is\nhandled by the ``itersearch`` API.\n\n```\nfrom superelasticsearch import SuperElasticsearch\n\nclient = SuperElasticsearch(hosts=['localhost:9200'])\n\nfor doc in client.itersearch(index='test_index', doc_type'tweets',\n                             scroll='10m'):\n    # do something with doc here\n    pass\n\n```\n\n### Simpler Bulk API\n\nElasitcsearch's Bulk API is extremely helpful but has different semantics.\nUsing Bulk API means manual handling of all the differences in naming of\nparameters, manual construction of the complex bulk body and all the errors\nand debugging challenges that come as extra work in the process.\n\nSuperElasticsearch provides a simpler Bulk API that enables you to use Bulk\nAPI in a non-bulk fashion.\n\nExample:\n\n```\nfrom superelasticsearch import SuperElasticsearch\n\nclient = SuperElasticsearch(hosts=['localhost:9200'])\nbulk = client.bulk_operation()\n\nbulk.index(index='test_index_1', doc_type='test_doc_type',\n           body=dict(key1='val1'))\nbulk.delete(index='test_index_2', doc_type='test_doc_type',\n            id=123)\nbulk.update(index='test_index_3', doc_type='test_doc_type',\n            id=456, body={\n                'script': 'ctx._source.count += count',\n                'params': {\n                    'count': 1\n                }\n            })\n\nresp = bulk.execute()\n```\n\nSuperElasticsearch's Bulk Operations do all the book keeping of individual\noperations that you perform, properly serialize those operations to Bulk APIs\nrequirements and executes the request.\n\n[es]: http://github.com/elasticsearch/elasticsearch-py\n[es_server]: http://elasticsearch.org\n\n## License\n\nThis project is licensed under MIT License.\n\nCopyright (c) 2013 Wingify Software Pvt. Ltd.\n\nSee [LICENSE.md](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwingify%2Fsuperelasticsearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwingify%2Fsuperelasticsearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwingify%2Fsuperelasticsearch/lists"}