Skip to content

django-es/django-elasticsearch-dsl

Repository files navigation

Django Elasticsearch DSL

image

image

image

image

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 >= 3.2
    • Python 3.8, 3.9, 3.10, 3.11

Elasticsearch Compatibility: The library is compatible with all Elasticsearch versions since 5.x but you have to use a matching major version:

  • For Elasticsearch 8.0 and later, use the major version 8 (8.x.y) of the library.
  • 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.