代码之家  ›  专栏  ›  技术社区  ›  Opal

添加新实体后的Django haystack索引

  •  2
  • Opal  · 技术社区  · 9 年前

    我想知道在将新实体添加到数据库之后应该调用什么操作,以使该实体可以使用haystack进行搜索:

    • 我应该只更新索引吗?
    • 我应该重建整个索引吗?

    问题是,新的实体将频繁添加,并且数据库中可能存在大量的实体。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Andrew Magee    9 年前

    如果要向数据库中添加新行 update_index 应该足够了。

    haystack docs :

    常规方法是使用 SearchIndex 与cron结合使用 工作。运行 ./manage.py update_index 每隔几个小时 您的数据在该时间段内同步,并将在 非常有效的批次。

    如果您添加了新的 领域 到搜索索引,则需要运行 rebuild_index :

    如果您已有 搜索索引 然后添加一个新字段, Haystack将在之后看到的任何更新中添加此新数据 指向但是,这不会填充您已经存在的数据 有

    为了获取数据,您需要运行 ./manage.py rebuild_index 。这将导致所有后端重新生成 现有数据已经以最快和最有效的方式呈现。