【问题标题】:Slow solr indexing with PHP使用 PHP 进行慢速 solr 索引
【发布时间】:2014-01-02 02:27:45
【问题描述】:

我正在使用 PHP 读取一个文本文件,并使用 Apache solr 4.3 为每一行索引一个文档。它似乎很慢,一天索引大约 70 000 行。这是正常现象还是有什么方法可以提高索引性能?

【问题讨论】:

  • 为您创建单独文档的每一行添加更多细节?用 solr 模式解释你的目标,以便我们提供帮助
  • 为了您的比较,我使用的 solr 至少索引了 5000 万个 doc,耗时 8 小时。在正常情况下,你的肯定很慢。但是您需要发布您的索引方式,以便我们能够提供帮助。

标签: php solr


【解决方案1】:

我猜您将每个文档都发送到 solr。我不知道您使用的是哪个 php 实现的 solr 客户端,但在我找到的here 中,有一种方法可以发送 solrInputDocuments 的集合。

 public void SolrClient::addDocuments ( array $docs [, bool $allowDups = false [, int $commitWithin = 0 ]] )

尝试以 1000 个或几百个批次发送 solrInputDocuments,这样会更快。确保您使用 POST 发送它,并再次确保您托管/部署 Solr 的服务器可以正确处理大型帖子上传(maxPostSize 和 uploadTimeout)。

如果你已经完成了所有这些,我现在没有任何其他想法。

【讨论】:

  • 谢谢。这非常有帮助。与单独索引每个文档的一周相比,批量索引只需几秒钟
【解决方案2】:

我正在使用 PHP 为每一行创建一个文档来读取数据文件和索引

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 2017-02-13
    相关资源
    最近更新 更多