1
我正在使用ElasticSearch和Haystack來實現搜索功能。Haystack AutoQuery爲什麼調用兩次?
配置一切後,我創建了從0繼承的自定義視圖:
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
經過一番分析,我發現AutoQuery
來自haystack.inputs
的視圖被調用兩次。
我想將其降低爲1,這樣就不會對elasticsearch後端造成額外的壓力。
爲什麼被稱爲兩次?如何防止這種情況發生?