dam*_*mon 5 python django xapian django-haystack
我有一个haystack搜索,其中包含以下SearchIndex:
class GrantIndex(indexes.SearchIndex):
"""
This provides the search index for the Grant application.
"""
text = indexes.CharField(document=True, use_template=True)
year = indexes.IntegerField(model_attr='year__year')
date = indexes.DateField(model_attr='date')
program = indexes.CharField(model_attr='program__area')
grantee = indexes.CharField(model_attr='grantee')
amount = indexes.IntegerField(model_attr='amount')
site.register(Grant, GrantIndex)
如果我想搜索过滤掉任何不是"健康"的程序,我运行以下查询:
from haystack.query import SearchQuerySet sqs = SearchQuerySet() sqs = sqs.filter(program='Health')
不幸的是,这也产生了来自"健康\其他"和"健康\心血管"计划的对象.如何阻止搜索允许其他程序进入?
我用Xapian作为我的搜索后端运行Ubuntu 9.10.
您可以按照此处所述使用字段查找。
sqs = sqs.filter(program__exact='Health')
Run Code Online (Sandbox Code Playgroud)