【发布时间】:2011-04-03 13:07:34
【问题描述】:
我正在尝试使用 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 的来源得到解决。请看答案
【问题讨论】:
-
您使用的是哪个版本的 Haystack 和 Whoosh?
-
Whoosh-1.8.1 和 Haystack v1.0
标签: python django django-haystack whoosh