2012-02-05 53 views
2

我使用django和haystack with whoosh和我有几个关于它们的问题:如何在Haystack和Whoosh中搜索所有django模型?

1)当我尝试搜索smth时,我应该选择所有已经在whoosh中编制索引的模型。我如何设置系统以在任何地方(在所有型号上)查找值?

2)我有搜索输入框,但它不适用干草堆网址。所以,我的模板(我使用自举):

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

而且我在教程中有搜索网址,如:

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

怎么会说出这样的形式immidiately开始搜索和发送数据到草垛?

回答

0

您需要在项目根目录的search_index.py文件中创建RealTimeSearchIndex类,并使用干草堆注册这些索引。

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

然后,您需要为haystack生成的搜索页面提供一个模板。

继续阅读文档,它都在那里。

0

对于部分2,

,因为草堆里使用?Q =获得查询,你应该把名字= “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。

相关问题