Haystack SearchQuerySet通过内容过滤器返回None

时间:2016-08-31 09:10:09

标签: django-haystack

我有以下SearchIndex:

class ProductIndex(indexes.SearchIndex, indexes.Indexable):
    text = indexes.CharField(document=True)
    display_name = indexes.CharField(model_attr='display_name')
    link = indexes.CharField(model_attr='link')

    def get_model(self):
        return Product

    def index_queryset(self, using=None):
        """Used when the entire index for model is updated."""
        return self.get_model().objects.\
                    filter(last_updated__lte=datetime.datetime.now())

它适用于以下查询:

 >>>> SearchQuerySet().filter(display_name='Levis jeans')
 [<SearchResult ... >, <SearchResult ... >, ...]

但是当我使用任何内容过滤器时,它会返回空列表:

 >>>> SearchQuerySet().filter(content='Levis jeans')
 []

有什么问题?

此外,还没有text字段的solr文档。

1 个答案:

答案 0 :(得分:0)

解决方案:为use_template=True字段设置text。 Haystack使用django-templates为搜索引擎呈现文档。