【问题标题】:Is there a way to index multiple Solr cores simultaneously?有没有办法同时索引多个 Solr 内核?
【发布时间】:2017-09-06 19:44:37
【问题描述】:

我正在使用 Solr 开发索引应用程序。我们当前的系统有两个实时核心,一次只索引一个核心。最近很明显,当前的索引系统不会长期工作。需要将其中一个活动核心拆分为两个新核心。他们将有一些重叠的信息,但不同的模式。每当将新项目引入数据库时​​,两者都需要快速更新。

有没有办法使用 SolrJ 同时更新多个个 solr 内核?

所有核心都在同一个 solr 实例中。

我们没有使用 SolrCloud。

目前需要拆分的核心大约包含。 2500000 个文档。

感谢任何帮助。

【问题讨论】:

  • 在这种情况下同时是什么意思?当然,您可以同时发起更新核心的请求
  • 我想同时索引同一个数据库中的两个核心,或者至少一个紧接着一个。当前系统启动、连接到 solr、索引、断开连接和终止应用程序。它最终从头到尾多次运行整个应用程序以索引每个核心。我不明白为什么我不能在一个应用程序运行中将它们全部编入索引。

标签: solr solrj


【解决方案1】:

由于您在单个核心上索引许多文档,我假设索引过程需要相当长的时间并使用所有系统资源(如果配置正确)。在这种情况下 - 同一实例上的并行索引将无济于事,因为您的多个线程将共享相同的资源。

但是您可以做的是在另一个实例上索引另一个核心,然后分别复制每个核心。

【讨论】:

  • 实际上,索引整个核心大约需要 10 分钟,并且不会使用所有资源。但是,文档是如此嵌套,以至于我们的 Web UI 的后端在查询更深层次的数据时遇到了问题——决定的解决方案是分成两个核心。索引单个项目将需要尽快更新两个新内核,因此是个问题。
  • 如果配置正确,它应该使用所有资源 :) 否则,你没有有效地使用你的资源
【解决方案2】:

当您使用 SolrJ 构建 Solr 客户端时,它特定于核心而不是完整的 Solr 实例。话虽如此,您可以有多个进程来更新应用程序中的任意数量的核心。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-10
    • 2014-05-01
    • 2021-12-09
    • 2013-04-23
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多