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

如何在django-Sphinx下自动重建Sphinx索引?

  •  2
  • Apreche  · 技术社区  · 16 年前

    2 回复  |  直到 16 年前
        1
  •  5
  •   Community Mohan Dere    5 年前

    构建搜索索引基本上有两种主要策略:

    1. 索引器 内部的 数据库服务器在插入或删除记录时动态索引。
    2. 索引器 外部的 数据库(可能是也可能不是RDMS,这就是我离开单词服务器的原因)会定期索引。

    adding a second server for stackoverflow .

    第二种策略不是实时的,但通常具有最佳性能。不幸的是,这也意味着,因为它不是内置的,所以必须以某种方式从外部调用。

    Sphinx ,它是一个外部索引器。您必须从cron或其他调度机制调用sphinx索引器。

    要加快索引速度,只需经常从cron运行它。如果这会导致性能问题,那么您需要实施 live-update strategy 这涉及非常频繁地将新记录索引到增量索引中,然后定期将增量索引合并到主索引中。这将在Django外部完成,因此它不会影响Django中的任何内容 django-sphinx .

        2
  •  0
  •   mlissner    15 年前

    以上听起来对我来说是正确的,尽管我会提到你可以从对象的保存函数中调用索引器。

    它可能会被调用很多,但它可以工作。只需像调用任何外部命令一样调用它。

    推荐文章