Skip to main content

Django Elasticsearch DSL

https://travis-ci.org/sabricot/django-elasticsearch-dsl.png?branch=master https://codecov.io/gh/sabricot/django-elasticsearch-dsl/coverage.svg?branch=master https://badge.fury.io/py/django-elasticsearch-dsl.svg https://readthedocs.org/projects/pip/badge/?version=latest&style=flat

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

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.

# 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

History

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.

Metadata

Release files for lc-django-elasticsearch-dsl 7.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lc-django-elasticsearch-dsl 7.1.3
File Size Uploaded Provenance Actions
lc-django-elasticsearch-dsl-7.1.3.tar.gz 17.5 kB Without provenance Details for lc-django-elasticsearch-dsl-7.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lc-django-elasticsearch-dsl 7.1.3
File Interpreter ABI Platform Actions
lc_django_elasticsearch_dsl-7.1.3-py2.py3-none-any.whl Python 3, Python 2 none any Details for lc_django_elasticsearch_dsl-7.1.3-py2.py3-none-any.whl

Total release size: 34.5 kB

Release files / lc-django-elasticsearch-dsl-7.1.3.tar.gz

Download URL lc-django-elasticsearch-dsl-7.1.3.tar.gz
Size 17.5 kB
Tags Source
SHA-256 checksum
How to use checksums
42c3fc6c6be9d93b2ad293a3f940110c3977146d717ca932e49c578a3bce8d87
BLAKE2b-256 checksum
How to use checksums
6b40a9d24a36c4827ef188a0be9df51a79d5282bafa29cb8a1496d5a2730fed2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Release files / lc_django_elasticsearch_dsl-7.1.3-py2.py3-none-any.whl

Download URL lc_django_elasticsearch_dsl-7.1.3-py2.py3-none-any.whl
Size 17.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ff7dcdc594e755c64c0b343cf27cce947d0de994eb7e92ce2ba858204d3e9c18
BLAKE2b-256 checksum
How to use checksums
d502a66c6576ef642273bc99b32d9755f6d24aea1e678e6bbc3a5bcf388948d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Security for lc-django-elasticsearch-dsl 7.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

7.1.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page