summaryrefslogtreecommitdiffstats
path: root/forum/models
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-04-24 21:40:09 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-04-24 21:40:09 -0400
commit1eadbe31fc08f32f3fc082f9f4474951e9f68abd (patch)
treea2214f93eaa3b22b242aef873acd9ce2b4233e72 /forum/models
parent3b8821b7e6c00a34fe71b22f011841786bb9d7e5 (diff)
downloadaskbot-1eadbe31fc08f32f3fc082f9f4474951e9f68abd.tar.gz
askbot-1eadbe31fc08f32f3fc082f9f4474951e9f68abd.tar.bz2
askbot-1eadbe31fc08f32f3fc082f9f4474951e9f68abd.zip
first pass on mysql full text and relaxed search stickiness
Diffstat (limited to 'forum/models')
-rwxr-xr-xforum/models/question.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/forum/models/question.py b/forum/models/question.py
index fa1dd257..7b70f538 100755
--- a/forum/models/question.py
+++ b/forum/models/question.py
@@ -82,10 +82,18 @@ class QuestionManager(models.Manager):
qs = qs.filter(tags__name = tag)
if search_query:
- qs = qs.filter(deleted=False).extra(
- where=['title like %s'],
- params=['%' + search_query + '%']
- )
+ try:
+ qs = qs.filter( Q(title__search = search_query) \
+ | Q(text__search = search_query) \
+ | Q(tagnames__search = search_query) \
+ | Q(answers__text__search = search_query)
+ )
+ except:
+ #fallback to dumb title match search
+ qs = qs.extra(
+ where=['title like %s'],
+ params=['%' + search_query + '%']
+ )
if scope_selector:
if scope_selector == 'unanswered':