【问题标题】:How to know when Solr Optimize is done?如何知道 Solr Optimize 何时完成?
【发布时间】:2010-09-17 10:29:28
【问题描述】:

我正在使用 Solr-php-client 通过 php 与 Solr 进行通信。

这段代码触发了solr优化命令:

  $solr->optimize();

不知道有没有什么方法可以确定优化完成了?

这都是因为我的网站上有一个管理页面,我每天手动一次必须优化 Solr 索引,但我很难编写这段代码。

目前我有一个带有提交按钮的简单表单,它触发了 optimize() 命令,但我必须以某种方式确认优化已经发生,这就是这里的问题。

您知道在 Solr 中确认优化的任何方法吗?

谢谢

【问题讨论】:

    标签: java php html database solr


    【解决方案1】:

    Optimize 命令的documentation 指定,默认情况下,该命令将阻塞,直到所有更改都写入磁盘并且新搜索器可用。因此,如果您保留这些默认值,则当命令返回时,您可以认为优化已完成。请注意,根据您当前拥有的段数以及您想要下降到的段数,该命令可能会阻塞很长时间。我已经看到优化需要一个小时才能完成。

    【讨论】:

      【解决方案2】:

      最简单的方法是从 Solr 控制台开始优化,您的集合的概览部分中有一个“立即优化”按钮。如果刷新此屏幕,您将看到已使用的内存不断增长,直到翻倍,然后勾选优化状态并且“立即优化”按钮消失。

      注意:您必须有足够的可用磁盘空间才能完成优化,否则它将失败,不会发出通知或错误消息。

      这并不能直接回答您的问题,但这是处理 solr 实例优化的另一种方法。所以我希望它会有所帮助。

      【讨论】:

        猜你喜欢
        • 2017-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-01
        • 2011-04-05
        • 2021-04-25
        • 2020-02-13
        • 1970-01-01
        相关资源
        最近更新 更多