我正在尝试使用 Whoosh 后端为我的网站实施 Haystack 搜索。我已经能够成功设置 haystack 应用程序,并且可以搜索我注册的模型,但是当我为另一个应用程序创建 search_indexes.py 文件时,我遇到了以下问题:
我有两个模型:成员和事件。我为它们创建了一个 search_indexes.py 以及模板文件夹中相应的 /search/... _text.txt 文件。然后我用./manage.py rebuild_index
我收到以下消息:
Indexing 8 events
Indexing 5 members
但是,我看不到 13 个索引项:
$> ./manage.py shell
$> from haystack.query import SearchQuerySet
$> sqs = SearchQuerySet().all()
$> print sqs.count()
$> 8
这些是被索引的 8 个事件。因此,从网站上,我只能搜索事件,而不是成员。从“事件”应用程序文件夹中删除 search_indexes.py 文件并重做所有正确索引 5 个成员的内容,并且可以像往常一样搜索它们。这可能是什么原因?
更新: 我在其他应用程序中包含了 search_indexes.py 文件,以查看它们是否被正确索引。我在重建索引时收到以下消息:
Indexing 8 events.
Indexing 4 guests.
Indexing 5 members.
Indexing 8 sponsors.
现在,它正在索引所有的活动和成员,但没有来宾和赞助商。我可以搜索事件和成员,但不能搜索其他两个(同时使用 SearchQuery API 和网站)
更新:问题似乎已通过更改haystack.backends.whoosh_backend
. 请看答案