1

私はDjangoでHaystackとWhooshを使用しており、以下のコードでインデックスを作成しようとしていました:

class LivroIndex(SearchIndex):
    text = CharField(document=True, use_template=True)
    autor = CharField(model_attr='Autor')
    titulo =  CharField(model_attr='Titulo')
    datalivro = DateTimeField(model_attr='DataLivro')


    def index_queryset(self):
        return Livro.objects.filter(DataLivro__lte=datetime.datetime.now())


    def prepare(self, obj):
        self.prepared_data = super(LivroIndex, self).prepare(obj)
        self.prepared_data['text'] = obj.Autor
        return self.prepared_data

Livro は、モデル ファイル内のクラスです。

このように、ユーザーがアプリケーション内のコンテンツを検索するために使用できるフィールドとして、「autor」のみを使用できます。複数のフィールドを受け入れるようにする他の方法はありますか?

前もって感謝します!

4

2 に答える 2

1

テンプレートを使用して、検索で見つけたいフィールドを追加します

お気に入り

{{ object.autor }}
{{ object.titulo  }}
{{ object.datalivro }}
于 2012-03-22T07:39:05.457 に答える
0

フィールド内で検索したいすべてのフィールドを連結することになっていtextます。通常、メソッドではなく、テンプレートを介してこれを行いますprepare手順については、チュートリアルを参照してください。

于 2012-03-22T04:15:16.467 に答える