Skip to content

martinsvoboda/django-multilingual-search

 
 

Repository files navigation

Django Multilingual Search

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.

https://travis-ci.org/sbaechler/django-multilingual-search.svg?branch=master

Installation

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.

Configuration

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.

Contributing

Please read the Contributing guide.

Release History

  • 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

About

A multilingual search plugin for Django, Haystack and Elasticsearch

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 82.8%
  • Shell 10.6%
  • HTML 6.6%