summaryrefslogtreecommitdiffstats
path: root/askbot/search
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-06-18 14:54:31 -0600
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-06-18 14:54:31 -0600
commitc33fb405eae93e66578fe2ae2b5423474dee0af1 (patch)
treed27f1946d08911df959cb78f1de588f390d9c99f /askbot/search
parentf7c7d0ab24d89175cd3e31f610e7d13d6c8c37c4 (diff)
downloadaskbot-c33fb405eae93e66578fe2ae2b5423474dee0af1.tar.gz
askbot-c33fb405eae93e66578fe2ae2b5423474dee0af1.tar.bz2
askbot-c33fb405eae93e66578fe2ae2b5423474dee0af1.zip
initial index, needs work and testing, temporal commit to change the score field in the models
Diffstat (limited to 'askbot/search')
-rw-r--r--askbot/search/haystack/__init__.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/askbot/search/haystack/__init__.py b/askbot/search/haystack/__init__.py
new file mode 100644
index 00000000..8376a0fc
--- /dev/null
+++ b/askbot/search/haystack/__init__.py
@@ -0,0 +1,43 @@
+try:
+ from haystack import indexes, site
+except ImportError:
+ pass
+
+from askbot.models import Post, Thread, Tag, User
+
+#class ThreadIndex(indexes.SearchIndex):
+# text = indexes.CharField(document=True, use_template=True)
+# title = indexes.CharField(model_attr='title')
+#
+# def index_queryset(self):
+# return Thread.objects.all()
+#
+# def prepare(self, obj):
+# self.prepared_data = super(ThreadIndex, self).prepare(object)
+#
+# self.prepared_data['tags'] = [tag.name for tag in objects.tags.all()]
+#
+#class PostIndex(indexes.SearchIndex):
+# text = indexes.CharField(document=True, use_template=True)
+# post_text = indexes.CharField(model_attr='text')
+# author = indexes.CharField(model_attr='user')
+#
+# def index_queryset(self):
+# return Post.objects.all()
+
+class PostIndex(indexes.SearchIndex):
+ text = indexes.CharField(document=True, use_template=True)
+ post_text = indexes.CharField(model_attr='text')
+ title = indexes.CharField(model_attr='thread__jtitle')
+ author = indexes.CharField(model_attr='user')
+
+ def prepare(self, obj):
+ self.prepared_data = super(PostIndex, self).prepare(obj)
+ if obj.thread:
+ self.prepared_data['tags'] = [tag.name for tag in obj.thread.tags.all()]
+
+ def index_queryset(self):
+ return Post.objects.all()
+
+site.register(Post, PostIndex)
+#site.register(Thread, ThreadIndex)