【问题标题】:Update managed-schema file in solr in multiple cores at once一次在多个内核中更新 solr 中的托管模式文件
【发布时间】:2020-04-10 15:34:25
【问题描述】:

我正在研究 Solr。我有多个具有相同字段和类型(相同模式)的核心。每个核心在 Solr 中都有自己的模式(托管模式)文件。我想为所有核心的模式添加新字段。

我通过管理面板手动为每个核心执行此操作。有什么方法可以一次将新字段添加到所有核心的架构中。

【问题讨论】:

  • 如果所有核心都具有相同的配置,那么这很容易......如果每个核心都有自己的配置,那么你必须编写一些代码来更新它......

标签: solr lucene solr-search


【解决方案1】:

将您的核心配置为use a configset instead

在多核 Solr 实例上,您可能会发现您希望在多个不同的核心之间共享配置。您可以使用命名配置集来实现此目的,命名配置集本质上是存储在可配置配置集基目录下的共享配置目录。

来自参考手册:

如果您在独立模式下使用 Solr,则会在文件系统上创建配置集。

要创建配置集,请在配置集基目录下添加一个新目录。配置集将由该目录的名称标识。然后复制到此复制您要共享的配置目录。结构应如下所示:

/configset1
    /conf
        /managed-schema
        /solrconfig.xml
/configset2
    /conf
        /managed-schema
        /solrconfig.xml

默认基目录为$SOLR_HOME/configsets

要使用配置集创建新核心,请将 configSet 作为核心属性之一传递。例如,如果您通过 CoreAdmin API 执行此操作:

curl http://localhost:8983/admin/cores?action=CREATE&name=mycore&instanceDir=path/to/instance&configSet=configset2

据我所知,没有办法让现有核心使用配置集,因此您必须备份配置和核心,然后从 Solr 中删除核心(不要删除目录),然后将 configSet 参数设置为您的配置集名称的核心读取。

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多