========================
Django Elasticsearch DSL
========================
.. image:: https://github.com/django-es/django-elasticsearch-dsl/actions/workflows/ci.yml/badge.svg
:target: https://github.com/django-es/django-elasticsearch-dsl/actions/workflows/ci.yml
.. image:: https://codecov.io/gh/django-es/django-elasticsearch-dsl/coverage.svg?branch=master
:target: https://codecov.io/gh/django-es/django-elasticsearch-dsl
.. image:: https://badge.fury.io/py/django-elasticsearch-dsl.svg
:target: https://pypi.python.org/pypi/django-elasticsearch-dsl
.. image:: https://readthedocs.org/projects/django-elasticsearch-dsl/badge/?version=latest&style=flat
:target: https://django-elasticsearch-dsl.readthedocs.io/en/latest/
Django Elasticsearch DSL is a package that allows indexing of django models in elasticsearch.
It is built as a thin wrapper around elasticsearch-dsl-py_
so you can use all the features developed by the elasticsearch-dsl-py team.
You can view the full documentation at https://django-elasticsearch-dsl.readthedocs.io
.. _elasticsearch-dsl-py: https://github.com/elastic/elasticsearch-dsl-py
Features
--------
- Based on elasticsearch-dsl-py_ so you can make queries with the Search_ class.
- Django signal receivers on save and delete for keeping Elasticsearch in sync.
- Management commands for creating, deleting, rebuilding and populating indices.
- Elasticsearch auto mapping from django models fields.
- Complex field type support (ObjectField, NestedField).
- Index fast using `parallel` indexing.
- Requirements
- Django >= 1.11
- Python 2.7, 3.5, 3.6, 3.7, 3.8
**Elasticsearch Compatibility:**
The library is compatible with all Elasticsearch versions since 5.x
**but you have to use a matching major version:**
- For Elasticsearch 7.0 and later, use the major version 7 (7.x.y) of the library.
- For Elasticsearch 6.0 and later, use the major version 6 (6.x.y) of the library.
- For Elasticsearch 5.0 and later, use the major version 0.5 (0.5.x) of the library.
.. code-block:: python
# Elasticsearch 7.x
elasticsearch-dsl>=7.0.0,<8.0.0
# Elasticsearch 6.x
elasticsearch-dsl>=6.0.0,<7.0.0
# Elasticsearch 5.x
elasticsearch-dsl>=0.5.1,<6.0.0
.. _Search: http://elasticsearch-dsl.readthedocs.io/en/stable/search_dsl.html
History
-------
7.1.4 (2020-07-05)
~~~~~~~~~~~~~~~~~~
* Configure Elasticsearch _id dynamically from document (#272)
* Use chain.from_iterable in for performance improvement (#278)
* Handle case where SimpleLazyObject being treated as an Iterable (#255)
* Camelcase default value in management command (#254)
* Various updates and fixup in docs (#250, #276)
* Start testing against Python 3.8 (#266)
7.1.1 (2019-12-26)
~~~~~~~~~~~~~~~~~~
* Adding detailed documentation and published to Read The Docs #222
* Resolve name resolution while delete, create index (#228)
* Added support for Django 3.0. (#230)
* Removing old Elasticsearc compatibility (#219)
* Drop StringField in favor of TextField.
7.1.0 (2019-10-29)
~~~~~~~~~~~~~~~~~~
* Support for Django `DecimalField` #141
* Indexing speedup by using `parallel` indexing. #213.
Now you can pass `--parallel` or set `ELASTICSEARCH_DSL_PARALLEL`
in your settings to get indexing speed boost while indexing
through management command.
* Fixing name resolution in management command #206
* Small documentation fixes. #196
7.0.0 (2019-08-11)
~~~~~~~~~~~~~~~~~~
* Support Elasticsearch 7.0 (See PR #176)
* Added order by to paginate queryset properly (See PR #153)
* Remove `standard` token filter from `README.md` and test files
* Various documentation fixes
6.4.2 (2019-07-26)
~~~~~~~~~~~~~~~~~~
* Fix document importing path
* Update readme
6.4.1 (2019-06-14)
~~~~~~~~~~~~~~~~~~
* The `DocType` import has changed to `Document`
6.4.0 (2019-06-01)
~~~~~~~~~~~~~~~~~~
* Support elasticsearch-dsl>6.3.0
* Class `Meta` has changed to class `Django` (See PR #136)
* Add `register_document` decorator to register a document (See PR #136)
* Additional Bug fixing and others
0.5.1 (2018-11-07)
~~~~~~~~~~~~~~~~~~
* Limit elastsearch-dsl to supported versions
0.5.0 (2018-04-22)
~~~~~~~~~~~~~~~~~~
* Add Support for Elasticsearch 6 thanks to HansAdema
Breaking Change:
~~~~~~~~~~~~~~~~
Django string fields now point to ES text field by default.
Nothing should change for ES 2.X but if you are using ES 5.X,
you may need to rebuild and/or update some of your documents.
0.4.5 (2018-04-22)
~~~~~~~~~~~~~~~~~~
* Fix prepare with related models when deleted (See PR #99)
* Fix unwanted calls to get_instances_from_related
* Fix for empty ArrayField (CBinyenya)
* Fix nested OneToOneField when related object doesn't exist (CBinyenya)
* Update elasticsearch-dsl minimal version
0.4.4 (2017-12-13)
~~~~~~~~~~~~~~~~~~
* Fix to_queryset with es 5.0/5.1
0.4.3 (2017-12-12)
~~~~~~~~~~~~~~~~~~
* Fix syncing of related objects when deleted
* Add django 2.0 support
0.4.2 (2017-11-27)
~~~~~~~~~~~~~~~~~~
* Convert lazy string to string before serialization
* Readme update (arielpontes)
0.4.1 (2017-10-17)
~~~~~~~~~~~~~~~~~~
* Update example app with get_instances_from_related
* Typo/grammar fixes
0.4.0 (2017-10-07)
~~~~~~~~~~~~~~~~~~
* Add a method on the Search class to return a django queryset from an es result
* Add a queryset_pagination option to DocType.Meta for allow the pagination of
big django querysets during the index populating
* Remove the call to iterator method for the django queryset
* Fix DocType inheritance. The DocType is store in the registry as a class and not anymore as an instance
0.3.0 (2017-10-01)
~~~~~~~~~~~~~~~~~~
* Add support for resynching ES documents if related models are updated (HansAdema)
* Better management for django FileField and ImageField
* Fix some errors in the doc (barseghyanartur, diwu1989)
0.2.0 (2017-07-02)
~~~~~~~~~~~~~~~~~~
* Replace simple model signals with easier to customise signal processors (barseghyanartur)
* Add options to disable automatic index refreshes (HansAdema)
* Support defining DocType indexes through Meta class (HansAdema)
* Add option to set default Index settings through Django config (HansAdema)
0.1.0 (2017-05-26)
~~~~~~~~~~~~~~~~~~
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/sabricot/django-elasticsearch-dsl",
"name": "django-elasticsearch-dsl",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "django elasticsearch elasticsearch-dsl",
"author": "Sabricot",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/e9/92/2c166d1a7e1446c5e502bc17e9218b513eb52761d984d03321ffec7296f3/django-elasticsearch-dsl-7.3.tar.gz",
"platform": null,
"description": "========================\nDjango Elasticsearch DSL\n========================\n\n.. image:: https://github.com/django-es/django-elasticsearch-dsl/actions/workflows/ci.yml/badge.svg\n :target: https://github.com/django-es/django-elasticsearch-dsl/actions/workflows/ci.yml\n.. image:: https://codecov.io/gh/django-es/django-elasticsearch-dsl/coverage.svg?branch=master\n :target: https://codecov.io/gh/django-es/django-elasticsearch-dsl\n.. image:: https://badge.fury.io/py/django-elasticsearch-dsl.svg\n :target: https://pypi.python.org/pypi/django-elasticsearch-dsl\n.. image:: https://readthedocs.org/projects/django-elasticsearch-dsl/badge/?version=latest&style=flat\n :target: https://django-elasticsearch-dsl.readthedocs.io/en/latest/\n\nDjango Elasticsearch DSL is a package that allows indexing of django models in elasticsearch.\nIt is built as a thin wrapper around elasticsearch-dsl-py_\nso you can use all the features developed by the elasticsearch-dsl-py team.\n\nYou can view the full documentation at https://django-elasticsearch-dsl.readthedocs.io\n\n.. _elasticsearch-dsl-py: https://github.com/elastic/elasticsearch-dsl-py\n\nFeatures\n--------\n\n- Based on elasticsearch-dsl-py_ so you can make queries with the Search_ class.\n- Django signal receivers on save and delete for keeping Elasticsearch in sync.\n- Management commands for creating, deleting, rebuilding and populating indices.\n- Elasticsearch auto mapping from django models fields.\n- Complex field type support (ObjectField, NestedField).\n- Index fast using `parallel` indexing.\n- Requirements\n\n - Django >= 1.11\n - Python 2.7, 3.5, 3.6, 3.7, 3.8\n\n**Elasticsearch Compatibility:**\nThe library is compatible with all Elasticsearch versions since 5.x\n**but you have to use a matching major version:**\n\n- For Elasticsearch 7.0 and later, use the major version 7 (7.x.y) of the library.\n\n- For Elasticsearch 6.0 and later, use the major version 6 (6.x.y) of the library.\n\n- For Elasticsearch 5.0 and later, use the major version 0.5 (0.5.x) of the library.\n\n.. code-block:: python\n\n # Elasticsearch 7.x\n elasticsearch-dsl>=7.0.0,<8.0.0\n\n # Elasticsearch 6.x\n elasticsearch-dsl>=6.0.0,<7.0.0\n\n # Elasticsearch 5.x\n elasticsearch-dsl>=0.5.1,<6.0.0\n\n.. _Search: http://elasticsearch-dsl.readthedocs.io/en/stable/search_dsl.html\n\n\n\n\nHistory\n-------\n7.1.4 (2020-07-05)\n~~~~~~~~~~~~~~~~~~\n* Configure Elasticsearch _id dynamically from document (#272)\n* Use chain.from_iterable in for performance improvement (#278)\n* Handle case where SimpleLazyObject being treated as an Iterable (#255)\n* Camelcase default value in management command (#254)\n* Various updates and fixup in docs (#250, #276)\n* Start testing against Python 3.8 (#266)\n\n\n7.1.1 (2019-12-26)\n~~~~~~~~~~~~~~~~~~\n* Adding detailed documentation and published to Read The Docs #222\n* Resolve name resolution while delete, create index (#228)\n* Added support for Django 3.0. (#230)\n* Removing old Elasticsearc compatibility (#219)\n* Drop StringField in favor of TextField.\n\n\n7.1.0 (2019-10-29)\n~~~~~~~~~~~~~~~~~~\n* Support for Django `DecimalField` #141\n* Indexing speedup by using `parallel` indexing. #213.\n Now you can pass `--parallel` or set `ELASTICSEARCH_DSL_PARALLEL`\n in your settings to get indexing speed boost while indexing\n through management command.\n* Fixing name resolution in management command #206\n* Small documentation fixes. #196\n\n\n7.0.0 (2019-08-11)\n~~~~~~~~~~~~~~~~~~\n* Support Elasticsearch 7.0 (See PR #176)\n* Added order by to paginate queryset properly (See PR #153)\n* Remove `standard` token filter from `README.md` and test files\n* Various documentation fixes\n\n\n6.4.2 (2019-07-26)\n~~~~~~~~~~~~~~~~~~\n* Fix document importing path\n* Update readme\n\n\n\n6.4.1 (2019-06-14)\n~~~~~~~~~~~~~~~~~~\n* The `DocType` import has changed to `Document`\n\n\n\n6.4.0 (2019-06-01)\n~~~~~~~~~~~~~~~~~~\n* Support elasticsearch-dsl>6.3.0\n* Class `Meta` has changed to class `Django` (See PR #136)\n* Add `register_document` decorator to register a document (See PR #136)\n* Additional Bug fixing and others\n\n\n0.5.1 (2018-11-07)\n~~~~~~~~~~~~~~~~~~\n* Limit elastsearch-dsl to supported versions\n\n0.5.0 (2018-04-22)\n~~~~~~~~~~~~~~~~~~\n* Add Support for Elasticsearch 6 thanks to HansAdema\n\nBreaking Change:\n~~~~~~~~~~~~~~~~\nDjango string fields now point to ES text field by default.\nNothing should change for ES 2.X but if you are using ES 5.X,\nyou may need to rebuild and/or update some of your documents.\n\n\n0.4.5 (2018-04-22)\n~~~~~~~~~~~~~~~~~~\n* Fix prepare with related models when deleted (See PR #99)\n* Fix unwanted calls to get_instances_from_related\n* Fix for empty ArrayField (CBinyenya)\n* Fix nested OneToOneField when related object doesn't exist (CBinyenya)\n* Update elasticsearch-dsl minimal version\n\n0.4.4 (2017-12-13)\n~~~~~~~~~~~~~~~~~~\n* Fix to_queryset with es 5.0/5.1\n\n0.4.3 (2017-12-12)\n~~~~~~~~~~~~~~~~~~\n* Fix syncing of related objects when deleted\n* Add django 2.0 support\n\n0.4.2 (2017-11-27)\n~~~~~~~~~~~~~~~~~~\n* Convert lazy string to string before serialization\n* Readme update (arielpontes)\n\n0.4.1 (2017-10-17)\n~~~~~~~~~~~~~~~~~~\n* Update example app with get_instances_from_related\n* Typo/grammar fixes\n\n0.4.0 (2017-10-07)\n~~~~~~~~~~~~~~~~~~\n* Add a method on the Search class to return a django queryset from an es result\n* Add a queryset_pagination option to DocType.Meta for allow the pagination of\n big django querysets during the index populating\n* Remove the call to iterator method for the django queryset\n* Fix DocType inheritance. The DocType is store in the registry as a class and not anymore as an instance\n\n\n0.3.0 (2017-10-01)\n~~~~~~~~~~~~~~~~~~\n* Add support for resynching ES documents if related models are updated (HansAdema)\n* Better management for django FileField and ImageField\n* Fix some errors in the doc (barseghyanartur, diwu1989)\n\n0.2.0 (2017-07-02)\n~~~~~~~~~~~~~~~~~~\n* Replace simple model signals with easier to customise signal processors (barseghyanartur)\n* Add options to disable automatic index refreshes (HansAdema)\n* Support defining DocType indexes through Meta class (HansAdema)\n* Add option to set default Index settings through Django config (HansAdema)\n\n0.1.0 (2017-05-26)\n~~~~~~~~~~~~~~~~~~\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "Wrapper around elasticsearch-dsl-py for django models",
"version": "7.3",
"split_keywords": [
"django",
"elasticsearch",
"elasticsearch-dsl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6df8f9fb110c8e9c5dc5341baa7bdd4f490dd042e1a3795b84af8c37ef5ec8d0",
"md5": "8f7b4f670b02d0605a1758a87272ef0a",
"sha256": "c1be1c6d25ee6e99dc246282a4f6de8cc0630d0f8d9863ed512c0baa9d21be94"
},
"downloads": -1,
"filename": "django_elasticsearch_dsl-7.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f7b4f670b02d0605a1758a87272ef0a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 19574,
"upload_time": "2023-02-03T12:01:35",
"upload_time_iso_8601": "2023-02-03T12:01:35.119358Z",
"url": "https://files.pythonhosted.org/packages/6d/f8/f9fb110c8e9c5dc5341baa7bdd4f490dd042e1a3795b84af8c37ef5ec8d0/django_elasticsearch_dsl-7.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e9922c166d1a7e1446c5e502bc17e9218b513eb52761d984d03321ffec7296f3",
"md5": "dc2076158e1972454193175e4900d8b5",
"sha256": "084a790edf26131a7897d13a3b5c08a6e129ca145b2b3fcbc2b2d4e902a919c1"
},
"downloads": -1,
"filename": "django-elasticsearch-dsl-7.3.tar.gz",
"has_sig": false,
"md5_digest": "dc2076158e1972454193175e4900d8b5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19932,
"upload_time": "2023-02-03T12:01:37",
"upload_time_iso_8601": "2023-02-03T12:01:37.772552Z",
"url": "https://files.pythonhosted.org/packages/e9/92/2c166d1a7e1446c5e502bc17e9218b513eb52761d984d03321ffec7296f3/django-elasticsearch-dsl-7.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-03 12:01:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "sabricot",
"github_project": "django-elasticsearch-dsl",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "django-elasticsearch-dsl"
}