diff options
author | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2012-06-18 14:54:31 -0600 |
---|---|---|
committer | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2012-06-18 14:54:31 -0600 |
commit | c33fb405eae93e66578fe2ae2b5423474dee0af1 (patch) | |
tree | d27f1946d08911df959cb78f1de588f390d9c99f /askbot/search | |
parent | f7c7d0ab24d89175cd3e31f610e7d13d6c8c37c4 (diff) | |
download | askbot-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__.py | 43 |
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) |