0

我无法恢复结果。

这是我到目前为止所得到的:

search_indexes.py

class CompanyIndex(SearchIndex):
    text = CharField(document=True, use_template=True)
    name = CharField(model_attr='name')
    sector = CharField(model_attr='sector')

    def get_model(self):
        return Company

    def index_queryset(self):
        return self.get_model().objects.all()

site.register(公司,公司索引)

class CompanySearchForm(ModelSearchForm):
    name = forms.CharField(max_length=64, required=False)
    sector = forms.MultipleChoiceField(choices=SECTORS_CHOICES, required=False)

    def search(self):
        # First, store the SearchQuerySet received from other processing.
        sqs = super(CompanySearchForm, self).search()
        print "fgdgdfgdfgdfg"
        if self.is_valid():
            # Check to see if a start_date was chosen.
            if self.cleaned_data['name']:
                print "%s" % self.cleaned_data['name']
                sqs = sqs.filter(name__exact=self.cleaned_data['name'])

            # Check to see if an end_date was chosen.
            if self.cleaned_data['sector']:
                sqs = sqs.filter(sector__contains=self.cleaned_data['sector'])

        return sqs

和网址:

sqs = SearchQuerySet()
    url(r'^search/', SearchView(
    template='search/search.html',
    form_class=CompanySearchForm,
    searchqueryset=sqs,
), name='haystack_search'),

我正在使用 haystack 文档中的模板。我没有看到任何结果。

我很感激任何帮助

4

1 回答 1

1

您应该在以下位置创建模板:

模板\搜索\索引\APP_NAME\company_text.txt

什么代表您 CompanyIndex 的可搜索字段

{{ object.text }}
{{ object.name }}
{{ object.sector }}

无论您在模板中写入的内容是否存在于 search_index.py 中,都将从您的索引中进行搜索。以下足以建立索引。

 text = CharField(document=True, use_template=True) 
于 2012-12-11T09:44:09.740 回答