【问题标题】:Tunning DIH Apache Solr调整 DIH Apache Solr
【发布时间】:2018-06-24 07:22:35
【问题描述】:

我们可以使用 dataimport 来提高 Apache solr 从 mysql 导入数据的性能吗? 目前我正在使用:

  1. 4 核处理器
  2. 内存 16 GB
  3. 硬盘 50 GB
  4. mysql 记录 120 万

现在我有 20 分钟的时间来完全导入数据。

【问题讨论】:

  • 通常最好的办法是放弃 DIH 并编写一个小的自定义索引器。这样,您可以更轻松地跨线程分散负载并并行获取多个结果集。

标签: solr


【解决方案1】:

通常最好的方法是放弃使用 DIH(它是单线程并在单个节点上运行 - 因此它不容易扩展)。

通过用合适的语言编写一个小型的自定义索引器(甚至使用捆绑的post 工具),您可以运行索引器的多个实例,索引到不同的节点(允许并行处理您的内容)并保持多个线程对后端数据库和 Solr 开放。

从多个进程或线程建立索引时不要使用显式提交,这一点很重要——因为这会在频繁提交时降低性能。改用commitWithin,告诉 Solr 在 x 秒后自动发出提交。如果您可以完全控制所有进程/线程何时完成,您可以自己发出提交 - 即在索引过程结束时(除非您希望文档在索引时变得可见,在这种情况下使用commitWithin)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    相关资源
    最近更新 更多