A multilingual Haystack plugin for Django and Elasticsearch.
The module is a drop-in replacement for the Haystack ElasticsearchSearchEngine
.
Instead of a single index it creates an index for each language specified in settings.LANGUAGES
.
A query is routed to the index of the currently active language.
Install with pip:
pip install django-multilingual-search
The major and minor versions of this project correspond to the Haystack version the package was tested against. This version is for Haystack 2.4.
The app provides a drop-in replacement for the ElasticsearchEngine of Haystack.
To use it, specify this engine in settings.py
:
HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'multilingual.elasticsearch_backend.ElasticsearchMultilingualSearchEngine', 'URL': 'http://127.0.0.1:9200/', 'INDEX_NAME': 'myproject', }, }
For automatic indexing of new entries the Haystack
signal processors
can be used without modification. It is recommended that a custom SignalProcessor be used
instead of the RealtimeSignalProcessor
because of server timeout issues with the latter.
Please read the Contributing guide.
- 2.4.1: Add compatibility with Django-parler.
- 2.4.0: Update code for compatibility with Haystack 2.4
- 2.3.0: First release