Package: django-anysearch-dsl
Django AnySearch DSL is a package that allows indexing of Django models in Elasticsearch/OpenSearch.
It is built as a thin wrapper aroundelasticsearch-dsl-py(and OpenSearch alternative).You can view the full documentation athttps://django-anysearch-dsl.readthedocs.ioManifestThis project is a fork ofdjango-elasticsearch-dslwith a single ultimate
purpose of supporting both Elasticsearch and OpenSearch. Compatibility is
achieved throughanysearchwhich does necessary import replacements depending
on which one (Elasticsearch or OpenSearch) is chosen (similarly to whatsixpackage does to support both 2.x and 3.x branches of Python).Bothelasticsearchandelasticsearch-dslare optional
dependencies (as well asopensearch-pyandopensearch-dsl) and are
installed when instructed (likepip installdjango-anysearch-dsl[elasticsearch]orpip installdjango-anysearch-dsl[opensearch]).anysearchis a required dependency.The plan is to stay in sync with thedjango-elasticsearch-dsl, so if you’re
missing a feature or have a bugfix, please propose it in the upstream.Submit PRs here only if they are solely related to this package and not
thedjango-elasticsearch-dsl.Do not propose code style changes or changes that contain reformatting
of the code (likeblackorisortfixes). Such things shall be
proposed in thedjango-elasticsearch-dsl. Code changes to this package
are kept minimal, so that it’s easier to stay in sync.Versioning is kept in sync up to thebuild(in terms of Semantic
versioningmajor.minor[.build[.revision]), so version 7.2.2.x of this
library would represent the version 7.2.2 of the upstream. All changes
are mentioned in thechangelog.This library is a drop-in replacement, it does have the same namespace asdjango-elasticsearch-dsl, thus you can’t have both installed.Due to complexities, no support for older versions of Elasticsearch (< 7.x)
is provided (and will never be).FeaturesBased onelasticsearch-dsl-pyso you can make queries with theSearchclass.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 usingparallelindexing.RequirementsDjango >= 2.2Python 3.6, 3.7, 3.8, 3.9, 3.10 or 3.10.Elasticsearch Compatibility:The library is compatible with Elasticsearch 7.x, OpenSearch 1.x and OpenSearch 2.x.# Elasticsearch 7.xelasticsearch-dsl>=7.0.0,<8.0.0# OpenSearch 1.xopensearch-dsl>=1.0,<2.0# OpenSearch 2.xopensearch-dsl>=2.0,<3.0History7.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 #222Resolve 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 DjangoDecimalField#141Indexing speedup by usingparallelindexing. #213.
Now you can pass–parallelor setELASTICSEARCH_DSL_PARALLELin your settings to get indexing speed boost while indexing
through management command.Fixing name resolution in management command #206Small documentation fixes. #1967.0.0 (2019-08-11)Support Elasticsearch 7.0 (See PR #176)Added order by to paginate queryset properly (See PR #153)Removestandardtoken filter fromREADME.mdand test filesVarious documentation fixes6.4.2 (2019-07-26)Fix document importing pathUpdate readme6.4.1 (2019-06-14)TheDocTypeimport has changed toDocument6.4.0 (2019-06-01)Support elasticsearch-dsl>6.3.0ClassMetahas changed to classDjango(See PR #136)Addregister_documentdecorator to register a document (See PR #136)Additional Bug fixing and others0.5.1 (2018-11-07)Limit elastsearch-dsl to supported versions0.5.0 (2018-04-22)Add Support for Elasticsearch 6 thanks to HansAdemaBreaking 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_relatedFix for empty ArrayField (CBinyenya)Fix nested OneToOneField when related object doesn’t exist (CBinyenya)Update elasticsearch-dsl minimal version0.4.4 (2017-12-13)Fix to_queryset with es 5.0/5.10.4.3 (2017-12-12)Fix syncing of related objects when deletedAdd django 2.0 support0.4.2 (2017-11-27)Convert lazy string to string before serializationReadme update (arielpontes)0.4.1 (2017-10-17)Update example app with get_instances_from_relatedTypo/grammar fixes0.4.0 (2017-10-07)Add a method on the Search class to return a django queryset from an es resultAdd a queryset_pagination option to DocType.Meta for allow the pagination of
big django querysets during the index populatingRemove the call to iterator method for the django querysetFix DocType inheritance. The DocType is store in the registry as a class and not anymore as an instance0.3.0 (2017-10-01)Add support for resynching ES documents if related models are updated (HansAdema)Better management for django FileField and ImageFieldFix 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.