4

我是 Django 和 Haystack 的新手。我已经完成了 Haystack 文档的“入门”页面和调试页面上的所有建议,但我看不出我的错误在哪里。 sqs.count()即使rebuild_index看起来可行,也返回 0,在被索引的表中提供正确数量的条目并将索引文件生成到whoosh_index目录中。

search_indexes有所需的text =行,我有一个 search_sites.py,我已经更改了 settings.py 和 urls.py,并且我在正确的目录中有 [model_name]_text.txt 文件。

我们正在一个大学服务器上工作,我们必须在安装 Haystack 后更新 Django 以与 Haystack 一起工作,因为我们意识到它是一个不兼容的版本(1.1 而不是 1.5) - 旧的 Django 会以某种方式与 Haystack 安装混淆吗?

4

2 回答 2

3

以下代码将向您显示已索引的内容 - 替换为您的设置的正确路径。

from whoosh.index import open_dir
ix = open_dir('<yourapp>/whoosh_indexes')
from pprint import pprint
pprint(list(ix.searcher().documents()))

如果这不能说明任何问题,您将不得不发布代码的更多详细信息 - 特别是 search_indexes.py

于 2013-04-10T09:16:19.157 回答
0

这似乎很明显,但我遇到了同样的错误,从http://django-haystack.readthedocs.org/en/latest/debugging.html阅读我发现我为返回的对象使用了错误的属性名称。

   ensure that {{ result.object.title }} corresponds to your model field
   for instance I had name as the model filed but kept wondering why I didn't get results.
   I had to change to {{ result.object.name }} to list my results

name 是需要的属性。希望这可以帮助某人。

于 2016-02-02T11:20:01.100 回答