From eec6aeb464e8966d1c27f8f6a67eb811170fa843 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Thu, 21 Feb 2013 17:08:22 +0100 Subject: [PATCH] fix events search index --- events/search_indexes.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/events/search_indexes.py b/events/search_indexes.py index 48d0a1c..ec33c99 100644 --- a/events/search_indexes.py +++ b/events/search_indexes.py @@ -1,11 +1,15 @@ import datetime from django.conf import settings from haystack import indexes -from fnpdjango.utils.models.translation import add_translatable_index +from fnpdjango.utils.models.translation import add_translatable_index, localize_field from events.models import Event class EventIndex(indexes.RealTimeSearchIndex, indexes.Indexable): + text = indexes.CharField(null=True, + model_attr=localize_field('title', settings.LANGUAGE_CODE), + document=True) + def get_model(self): return Event @@ -15,12 +19,12 @@ class EventIndex(indexes.RealTimeSearchIndex, indexes.Indexable): add_translatable_index(EventIndex, { -# Haystack needs a main field to be the same across all indexes -# so we treat title of the event as this main content, named 'body' - 'body': indexes.CharField(model_attr='title', null=True), - 'organizer': indexes.CharField(null=True), - 'place': indexes.CharField(null=True) - }) - + 'organizer': indexes.CharField(null=True), + 'place': indexes.CharField(null=True) + }) -getattr(EventIndex, "body_%s" % settings.LANGUAGE_CODE).document = True +add_translatable_index(EventIndex, { + 'title': indexes.CharField(null=True), + }, + (lang for lang in settings.LANGUAGES if lang[0] != settings.LANGUAGE_CODE) +) -- 2.20.1