我是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可能会以某种方式搞乱干草堆安装吗?
答案 0 :(得分: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
答案 1 :(得分: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是必需属性。希望这有助于某人。