events search/realtime indexing
[prawokultury.git] / events / search_indexes.py
diff --git a/events/search_indexes.py b/events/search_indexes.py
new file mode 100644 (file)
index 0000000..1321dcd
--- /dev/null
@@ -0,0 +1,27 @@
+from django.conf import settings
+import datetime
+from haystack import indexes
+from events.models import Event
+from migdal.helpers import add_translatable_index
+
+
+class EventIndex(indexes.RealTimeSearchIndex, indexes.Indexable):
+    def get_model(self):
+        return Event
+
+    def index_queryset(self):
+        """Used when the entire index for model is updated."""
+        return self.get_model().objects.all()
+        
+
+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'), 
+   'organizer': indexes.CharField(), 
+   'place': indexes.CharField()
+   })
+
+
+getattr(EventIndex, "body_%s" % settings.LANGUAGE_CODE).document = True
+