繁体   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