Settings¶
ELASTICSEARCH_DSL_INDEX_SETTINGS¶
Default: {}
Additional options passed to the elasticsearch-dsl Index settings (like number_of_replicas
or number_of_shards
).
ELASTICSEARCH_DSL_AUTO_REFRESH¶
Default: True
Set to False
not force an index refresh with every save.
ELASTICSEARCH_DSL_SIGNAL_PROCESSOR¶
This (optional) setting controls what SignalProcessor class is used to handle Django’s signals and keep the search index up-to-date.
An example:
ELASTICSEARCH_DSL_SIGNAL_PROCESSOR = 'django_elasticsearch_dsl.signals.RealTimeSignalProcessor'
Defaults to django_elasticsearch_dsl.signals.RealTimeSignalProcessor
.
Options: django_elasticsearch_dsl.signals.RealTimeSignalProcessor
django_elasticsearch_dsl.signals.CelerySignalProcessor
In this CelerySignalProcessor
implementation,
Create and update operations will record the updated data primary key from the database and delay the time to find the association to ensure eventual consistency.
Delete operations are processed to obtain associated data before database records are deleted.
And celery needs to be pre-configured in the django project, for example Using Celery with Django <https://docs.celeryq.dev/en/stable/django/first-steps-with-django.html>.
You could, for instance, make a CustomSignalProcessor
which would apply
update jobs as your wish.
ELASTICSEARCH_DSL_PARALLEL¶
Default: False
Run indexing (populate and rebuild) in parallel using ES’ parallel_bulk() method. Note that some databases (e.g. sqlite) do not play well with this option.