【发布时间】:2014-07-24 22:37:22
【问题描述】:
我一直在查看 multiple indexes 上的 Haystack 文档,但我不知道如何使用它们。
本例中的主要模型是Proposal。我希望有两个返回提案列表的搜索索引:一个仅在提案本身中搜索,另一个在提案及其 cmets 中搜索。我已经这样设置了search_indexes.py:
class ProposalIndexBase(indexes.SearchIndex, indexes.Indexable)
title = indexes.CharField(model_attr="title", boost=1.1)
text = indexes.NgramField(document=True, use_template=True)
date = indexes.DateTimeField(model_attr='createdAt')
def get_model(self):
return Proposal
class ProposalIndex(ProposalIndexBase):
comments = indexes.MultiValueField()
def prepare_comments(self, object):
return [comment.text for comment in object.comments.all()]
class SimilarProposalIndex(ProposalIndexBase):
pass
这是我在views.py中的搜索:
def search(request):
if request.method == "GET":
if "q" in request.GET:
query = str(request.GET.get("q"))
results = SearchQuerySet().all().filter(content=query)
return render(request, "search/search.html", {"results": results})
如何设置从特定索引获取 SearchQuerySet 的单独视图?
【问题讨论】: