我正在使用Django 1.4,Haystack 2 beta和ElasticSearch .20运行安装程序。我的数据库是PostgreSQL 9.1,它有几百万条记录。当我尝试使用haystack / elasticsearch索引所有数据时,该过程超时,并且收到一条消息,提示“已杀死”。到目前为止,我已经注意到以下几点:
haystack/backends/__init__.py
如果硬编码超时不起作用,那么我还能如何延长索引时间呢?还有其他方法可以直接在ElasticSearch中更改此设置吗?还是一些批处理方法?
提前致谢!
该版本的干草堆有故障。在以下行的文件haystack / management / commands / update_index.py中找到导致问题的代码行:
pks_seen = set([smart_str(pk) for pk in qs.values_list('pk', flat=True)])
导致服务器内存不足。但是,对于索引,似乎并不需要它。因此,我将其更改为:
pks_seen = set([])
现在,它正在批量运行。谢谢大家回答!