From 89b4bf00f6e37c5823ae7b3e693ea8b3559e4281 Mon Sep 17 00:00:00 2001 From: Sergio Oliveira Date: Thu, 24 Oct 2013 09:57:22 -0200 Subject: [PATCH] Using haystack to index hits --- src/proxy/search_indexes.py | 12 ++++++++++++ src/super_archives/search_indexes.py | 4 ++++ 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/src/proxy/search_indexes.py b/src/proxy/search_indexes.py index b449d4b..0553446 100644 --- a/src/proxy/search_indexes.py +++ b/src/proxy/search_indexes.py @@ -21,6 +21,7 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable): type = indexes.CharField() icon_name = indexes.CharField(indexed=False) author_and_username = indexes.CharField(null=True, stored=False) + hits = indexes.IntegerField() # trac extra fields collaborators = indexes.CharField( @@ -35,6 +36,9 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable): def get_updated_field(self): return 'modified' + def prepare_hits(self, obj): + return obj.hits + def prepare_author(self, obj): author = obj.get_author() if author: @@ -80,6 +84,7 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable): icon_name = indexes.CharField(indexed=False) tag = indexes.CharField(model_attr='status', null=True) author_and_username = indexes.CharField(null=True, stored=False) + hits = indexes.IntegerField() # trac extra fields milestone = indexes.CharField(model_attr='milestone', null=True) @@ -99,6 +104,9 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable): def get_updated_field(self): return 'modified' + def prepare_hits(self, obj): + return obj.hits + def prepare_author(self, obj): author = obj.get_author() if author: @@ -149,6 +157,7 @@ class RevisionIndex(indexes.SearchIndex, indexes.Indexable): type = indexes.CharField() icon_name = indexes.CharField(indexed=False) author_and_username = indexes.CharField(null=True, stored=False) + hits = indexes.IntegerField() # trac extra fields repository_name = indexes.CharField( @@ -162,6 +171,9 @@ class RevisionIndex(indexes.SearchIndex, indexes.Indexable): def get_updated_field(self): return 'created' + def prepare_hits(self, obj): + return obj.hits + def prepare_author(self, obj): author = obj.get_author() if author: diff --git a/src/super_archives/search_indexes.py b/src/super_archives/search_indexes.py index fc89700..823be42 100644 --- a/src/super_archives/search_indexes.py +++ b/src/super_archives/search_indexes.py @@ -35,6 +35,7 @@ class ThreadIndex(indexes.SearchIndex, indexes.Indexable): model_attr='mailinglist__get_absolute_url', indexed=False, ) + hits = indexes.IntegerField() def get_model(self): return Thread @@ -42,6 +43,9 @@ class ThreadIndex(indexes.SearchIndex, indexes.Indexable): def get_updated_field(self): return 'latest_message__received_time' + def prepare_hits(self, obj): + return obj.hits + def prepare_author(self, obj): return obj.message_set.first().from_address.get_full_name() -- libgit2 0.21.2