2

我正在使用带有 whoosh 的 django 和 haystack,我对它们有几个问题:

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

2) 我有搜索输入框,但它不适用于 haystack url。所以我的模板(我正在使用引导程序):

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

我有像教程中一样的搜索网址:

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

怎么说这个表格立即开始搜索并将数据发送到干草堆?

4

2 回答 2

0

您需要在项目根目录的 search_index.py 文件中创建 RealTimeSearchIndex 类,并将这些索引注册到 haystack。

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

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

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

于 2012-02-05T23:06:10.650 回答
0

对于第 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。

于 2012-05-06T00:48:08.040 回答