[英]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.