【发布时间】:2012-10-03 22:53:39
【问题描述】:
在我的生产服务器上,当我搜索网页时,我没有使用 haystack 获得任何搜索结果,但它可以正确构建索引,并且我可以使用 django shell 上的 haystack api 检索结果。
没有抛出异常,我根本没有得到任何结果。
在我的本地服务器上一切正常。
唯一明显的区别是生产服务器使用 fcgi,而本地服务器使用 wsgi。
我这辈子都搞不清楚到底发生了什么。有什么想法吗?
【问题讨论】:
-
搜索索引文件夹的权限是什么?您的 shell 会话以您的任何用户身份运行,但您的 wsgi 会话可能以另一个用户身份运行 - 可能是 uwsgi 或其他用户。如果该用户无法读取您的 whoosh 索引文件夹,它将失败。
-
感谢@Spacedman。我确定我尝试过 - 我有目录 777'ed 但将其更改为由 apache 拥有。仅凭这一点并不能解决问题。我将
import haystack haystack.autodiscover()从 search_sites.py 移动到 urls.py 并且搜索开始正常工作。
标签: django django-haystack whoosh