【问题标题】:Storing data in Solr core at different location based on environment variable根据环境变量将数据存储在 Solr 核心的不同位置
【发布时间】:2020-07-15 13:27:08
【问题描述】:

我正在开发 Java Spring Boot Web 应用程序。我在 Solr 中存储了一些数据。我在根目录中有许多不同的 Solr Core,它们在 application.properties 中定义。我的应用程序运行良好。现在我需要将应用程序作为具有给定环境变量的 docker 容器运行。这些变量之一将指示从一个特定的 Solr Core 存储一些数据的位置,例如。 Core1。这个核心始终是同一个,只是位置不同。

在实践中,我有一些数据,我使用这些数据并且没有存储在任何地方。该数据分为 10 种不同“类型”的数据。例如,我正在存储 Person 对象,但我有 10 个不同的国籍。现在我需要将它保存到 solr core Core1,但我想将它按这些国籍划分,所以我会有 10 个不同的文件夹包含数据。这个处理过的数据我想通过某种控制器导出到某个地方,比如说。到目前为止,我不确定是独立存储并导出数据本身,还是包含该数据的整个核心更好。不确定其中一个是否更好,甚至是否可行。

我很难弄清楚如何以某种方式配置 Solr,它会根据给定的环境变量将数据存储在不同的文件夹中。

我试图在我的Core1 Solr Core 的core.properties 文件中定义dataDir 属性,如下所示: dataDir=${SOLR_DATA}/data 然后在 Windows 中将 ${SOLR_DATA} 变量定义为环境变量,甚至重新启动 PC,但我的 Spring Boot 应用程序仍然崩溃,并出现错误,即没有同名的系统变量。

【问题讨论】:

  • 看到这里的连接有点麻烦 - Solr 自行运行,而您的 Spring Boot 应用程序自行运行。哪个部分无法查看环境变量?

标签: java spring spring-boot docker solr


【解决方案1】:

事实证明,我的问题很不合适,我的问题以完全不同的方式解决了。我们创建了 Docker 容器并将路径作为参数传递给外部 SolrCore。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    相关资源
    最近更新 更多