簡體   English   中英

如何使用Haystack和Whoosh搜索所有django模型?

[英]How to search in all django models with Haystack and Whoosh?

我正在將jango和haystack與whoosh一起使用,並且我對它們有幾個問題:

1)當我嘗試搜索某物時,我應該選擇所有已在whoosh中建立索引的模型。 如何設置系統以在任何地方(在所有型號上)查找值?

2)我有搜索輸入框,但不適用於干草堆網址。 所以我的模板(我正在使用引導程序):

<form  method="get" action="/search/" class="navbar-search pull-left">
   <input type="text" class="search-query" placeholder="Search">
</form>

我有像教程中一樣的搜索URL:

(r'^search/', include('haystack.urls')),

怎么說這個表格立即開始搜索並將數據發送到干草堆?

對於第2部分,

由於haystack使用?q =來獲取查詢,因此您應該在輸入字段中輸入name =“ q”,

<form  method="get" action="/search/" class="navbar-search pull-left">
    <input name="q" type="text" class="search-query" placeholder="Search">
</form>

對於第1部分,

您可以將search_indexes.py放入每個模型文件夾中。 不知道是否有更有效的方法。 如果要讓用戶選擇搜索哪些模型,可以使用ModelSearchView。

您需要在項目根目錄的search_index.py文件中創建RealTimeSearchIndex類,然后在haystack中注冊這些索引。

然后,您需要使用haystack manage.py reindex命令重新索引數據。

然后,您需要為haystack生成的搜索頁面提供模板。

繼續閱讀文檔,一切都在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM