【发布时间】:2011-11-14 20:40:52
【问题描述】:
我正在使用 Django + haystack + Solr 实现搜索功能。
最初我有 3 条记录并执行了“manage.py rebuild_index”命令,它索引了 3 条记录。这些记录开始显示在结果中。从管理控制台,我添加了一条新记录。这未显示在搜索结果中。
但是当再次执行'manage.py rebuild_index'命令时,它说索引4条记录,然后新记录出现在结果中。
谢谢
【问题讨论】:
我正在使用 Django + haystack + Solr 实现搜索功能。
最初我有 3 条记录并执行了“manage.py rebuild_index”命令,它索引了 3 条记录。这些记录开始显示在结果中。从管理控制台,我添加了一条新记录。这未显示在搜索结果中。
但是当再次执行'manage.py rebuild_index'命令时,它说索引4条记录,然后新记录出现在结果中。
谢谢
【问题讨论】:
默认SearchIndex 不会自动索引新项目。这意味着您需要定期调用 update_index 以保持 Solr 索引处于最新状态。
另一个选项是使用RealTimeSearchIndex,它会在创建项目时将项目添加到搜索索引中。 http://docs.haystacksearch.org/dev/searchindex_api.html#realtimesearchindex
第三种选择是按照 Haystack 最佳实践中的建议使用 QueuedSearchIndex。为此,您可以查看以下两个附加应用程序:https://github.com/toastdriven/queued_search 或 https://github.com/ennio/celery-haystack。
【讨论】: