删除记录时更新haystack索引,而无需重新索引整个数据库

时间:2014-03-06 05:26:32

标签: python elasticsearch django-haystack

是否可以在不重新索引整个数据库的情况下更新整个haystack索引?我有一个260万条记录的数据库,每条记录都有相关的表格。如果我跑:

 python manage.py update_index --remove

我必须等待几天才能完成索引,此时可能只有一两条记录需要重新编制索引。任何解决方案?

更新: 正如Bennylope所说我可以使用get_updated_field来仅索引新条目。如果我删除一条记录,并且只希望从索引中删除该项,则会出现问题。我该怎么做?

1 个答案:

答案 0 :(得分:0)

两个建议:在主要记录中添加修改时间戳,并使用SearchIndex中的get_updated_field字段方法,使用--age标记中的{{1}}标记按更新的近期过滤查询集执行management command

第二种方法是实现实时或queued indexing在个别记录更新时对其进行索引。