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 是我的模型文件中的一个类。

通过这种方式,您可以只使用“auto”作为用户可用于在应用程序内搜索内容的字段。有没有其他方法可以让它接受多个领域?

提前致谢!

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 回答