【发布时间】:2015-10-09 10:32:36
【问题描述】:
我正在使用 ElasticSearch 和 Haystack 来实现搜索功能。
配置完一切后,我创建了一个继承自SearchView的自定义视图:
class CustomSearchView(SearchView):
"""
Search view of haystack.
"""
template_name = 'search/search.html'
form_class = ItemSearchForm
context_object_name = 'items'
和 urls.py:
urlpatterns = patterns(
'',
url(r'^', CustomSearchView.as_view(), name='search'),
)
搜索工作正常。但是我注意到,每次我进行搜索时,都会向ElasticSearch 发送两个请求。我可以在elasticsearch_requests.log看到这一点
经过一些分析,我发现来自haystack.inputs 的AutoQuery 视图被调用了两次。
我想将其减少到一个,这样就不会对 elasticsearch 后端造成额外的压力。
为什么要调用两次?如何防止这种情况发生?
【问题讨论】:
标签: python django search elasticsearch django-haystack