4

我正在使用 django-haystack 和带有模型数据实时索引 ( haystack.indexes.RealTimeSearchIndexing) 的 xapian 后端,它在我的 Ubuntu 服务器上运行良好。但是,当我在 RHEL5 服务器上部署应用程序时,它会导致 django 挂起数据输入。

如果我切换到标准,一切都会变得很糟糕SearchIndex

手动运行./manage.py rebuild_index也很好。

两种设置之间的主要区别在于 Python(2.4.3 与 2.6.4)和 xapian(1.0.4-1 与 1.0.15)的版本。

关于可能是什么问题的任何建议?

日志中没有出现任何有趣的内容,我尝试了不同的数据库(mysql、sqlite3)和部署方法(mod_python、wsgi),但还没有运气。

我已经注意到 haystack 文档上的警告,指出RealTimeSearchIndex只能通过 Solr 后端优雅地处理,但是我正在运行一个非常低流量的站点,只有偶尔写入,所以我对写入时的一些 CPU 开销很好。

4

2 回答 2

2

从源代码安装 xapian-core 和 xapian-bindings 解决了这个问题。

我最初使用此处提供的 RPM 包。

于 2010-03-04T18:22:17.400 回答
1

请注意xapian-haystack的作者:

因为 Xapian 不支持同时 WritableDatabase 连接,所以强烈建议用户在使用 RealTimeSearchIndex 时要小心设置 WSGIDaemonProcess processes=1 或使用其他方式来确保不会多次尝试写入索引。或者,使用 SearchIndex 和 cronjob 以设定的时间间隔重新索引内容(示例 cronjob 可以在此处找到http://gist.github.com/216247)或派生您自己的 SearchIndex 以实现使您的索引保持最新的其他形式.

于 2010-03-03T21:23:33.230 回答