Commit 89b4bf00f6e37c5823ae7b3e693ea8b3559e4281
1 parent
1749e8ce
Exists in
master
and in
39 other branches
Using haystack to index hits
Hits will be used in relevance score (should be done in #20). Closes #21.
Showing
2 changed files
with
16 additions
and
0 deletions
Show diff stats
src/proxy/search_indexes.py
... | ... | @@ -21,6 +21,7 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable): |
21 | 21 | type = indexes.CharField() |
22 | 22 | icon_name = indexes.CharField(indexed=False) |
23 | 23 | author_and_username = indexes.CharField(null=True, stored=False) |
24 | + hits = indexes.IntegerField() | |
24 | 25 | |
25 | 26 | # trac extra fields |
26 | 27 | collaborators = indexes.CharField( |
... | ... | @@ -35,6 +36,9 @@ class WikiIndex(indexes.SearchIndex, indexes.Indexable): |
35 | 36 | def get_updated_field(self): |
36 | 37 | return 'modified' |
37 | 38 | |
39 | + def prepare_hits(self, obj): | |
40 | + return obj.hits | |
41 | + | |
38 | 42 | def prepare_author(self, obj): |
39 | 43 | author = obj.get_author() |
40 | 44 | if author: |
... | ... | @@ -80,6 +84,7 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable): |
80 | 84 | icon_name = indexes.CharField(indexed=False) |
81 | 85 | tag = indexes.CharField(model_attr='status', null=True) |
82 | 86 | author_and_username = indexes.CharField(null=True, stored=False) |
87 | + hits = indexes.IntegerField() | |
83 | 88 | |
84 | 89 | # trac extra fields |
85 | 90 | milestone = indexes.CharField(model_attr='milestone', null=True) |
... | ... | @@ -99,6 +104,9 @@ class TicketIndex(indexes.SearchIndex, indexes.Indexable): |
99 | 104 | def get_updated_field(self): |
100 | 105 | return 'modified' |
101 | 106 | |
107 | + def prepare_hits(self, obj): | |
108 | + return obj.hits | |
109 | + | |
102 | 110 | def prepare_author(self, obj): |
103 | 111 | author = obj.get_author() |
104 | 112 | if author: |
... | ... | @@ -149,6 +157,7 @@ class RevisionIndex(indexes.SearchIndex, indexes.Indexable): |
149 | 157 | type = indexes.CharField() |
150 | 158 | icon_name = indexes.CharField(indexed=False) |
151 | 159 | author_and_username = indexes.CharField(null=True, stored=False) |
160 | + hits = indexes.IntegerField() | |
152 | 161 | |
153 | 162 | # trac extra fields |
154 | 163 | repository_name = indexes.CharField( |
... | ... | @@ -162,6 +171,9 @@ class RevisionIndex(indexes.SearchIndex, indexes.Indexable): |
162 | 171 | def get_updated_field(self): |
163 | 172 | return 'created' |
164 | 173 | |
174 | + def prepare_hits(self, obj): | |
175 | + return obj.hits | |
176 | + | |
165 | 177 | def prepare_author(self, obj): |
166 | 178 | author = obj.get_author() |
167 | 179 | if author: | ... | ... |
src/super_archives/search_indexes.py
... | ... | @@ -35,6 +35,7 @@ class ThreadIndex(indexes.SearchIndex, indexes.Indexable): |
35 | 35 | model_attr='mailinglist__get_absolute_url', |
36 | 36 | indexed=False, |
37 | 37 | ) |
38 | + hits = indexes.IntegerField() | |
38 | 39 | |
39 | 40 | def get_model(self): |
40 | 41 | return Thread |
... | ... | @@ -42,6 +43,9 @@ class ThreadIndex(indexes.SearchIndex, indexes.Indexable): |
42 | 43 | def get_updated_field(self): |
43 | 44 | return 'latest_message__received_time' |
44 | 45 | |
46 | + def prepare_hits(self, obj): | |
47 | + return obj.hits | |
48 | + | |
45 | 49 | def prepare_author(self, obj): |
46 | 50 | return obj.message_set.first().from_address.get_full_name() |
47 | 51 | ... | ... |