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.
Currently, support for Django 1.10 is not guaranteed.
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. Any help is greatly appreciated.
My current company is not using Python, so I won't be able to maintain and keep this library updated.
- 2.4.2: Support Haystack 2.4.1
- 2.4.1: Add compatibility with Django-parler.
- 2.4.0: Update code for compatibility with Haystack 2.4
- 2.3.0: First release