次の SearchIndex を持つ干し草の山検索があります。
クラス GrantIndex(indexes.SearchIndex):
"""
これにより、Grant アプリケーションの検索インデックスが提供されます。
"""
text = index.CharField(document=True, use_template=True)
年 = index.IntegerField(model_attr='year__year')
日付 = インデックス.DateField(model_attr='date')
program = index.CharField(model_attr='program__area')
grantee = index.CharField(model_attr='grantee')
金額 = インデックス.IntegerField(model_attr='金額')
site.register(グラント、グラントインデックス)
「Health」ではないプログラムを除外して検索したい場合は、次のクエリを実行します。
from haystack.query import SearchQuerySet sqs = SearchQuerySet() sqs = sqs.filter(program='Health')
残念ながら、これはプログラム 'Health\Other' および 'Health\Cardiovascular' からもオブジェクトを生成します。検索で他のプログラムが許可されないようにするにはどうすればよいですか?
検索バックエンドとして Xapian を使用して Ubuntu 9.10 を実行しています。