通过HTTP在SOLR中创建新内核?

Kei*_*Jr. 17 solr

是否可以通过HTTP在SOLR中创建新内核?我似乎无法找到一个似乎是一个非常简单的问题的明确答案......

我想要创建的每个核心都具有相同的架构/配置(多租户SaaS架构).

我找到了这个页面:

这让我觉得它是可能的,但具体说明我应该传递的每个参数的具体内容并不是很清楚:

  • instanceDir - 这是我想要新核心驻留的路径,还是现有"模板"核心所在的路径?它是一个完整的文件路径,还是一个相对的路径?相对于什么?

  • config - 这是现有配置文件的完整文件路径吗?还是一个亲戚?相对于什么?

  • 架构 - 与上述相同

  • dataDir - 这是现有核心的数据目录,还是新核心的数据目录?完整文件路径?有关系吗?相对于什么?它是否已经存在,或者SOLR会为我创建吗?

bud*_*y86 9

是的,您可以通过HTTP创建Solr核心.您已找到要查看的正确URL(https://wiki.apache.org/solr/CoreAdmin).以上所有参数均为可选参数.

instanceDir - 这是创建新核心的路径.它将在" / example/solr / " 下创建由您提供的文件夹结构.如果您不提供此参数,它将自动创建一个新的核心(集合号),如collection1.

config- 如果要为新内核使用不同的solrconfig.xml,请提供此内容.否则,默认情况下它将共享现有的核心(collection1)配置.

schema- 如果要为新内核使用不同的schema.xml,请提供此内容.否则,默认情况下它将共享现有的核心(collection1)模式.

dataDir - 这是存储新核心数据的路径.它将在新的核心文件夹下创建您提供的文件夹结构.

如果您真的不希望为新核心配置一些不同的配置,请按照示例HTTP URL进行操作

http://localhost:8983/solr/admin/cores?action=CREATE&name=core_name&numShards=2&replicationFactor=2
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助.

  • @ buddy86这些指令是针对"Solr Cloud"还是针对单节点Solr?在单节点Solr上使用示例URL不起作用:`错误CREATEing SolrCore'core_name':无法创建核心[core_name]引起:无法在类路径或'/ var/solr中找到资源'solrconfig.xml' /数据/ core_name/conf'` (3认同)

mol*_*olm 6

我有完全相同的问题,我无法通过https://wiki.apache.org/solr/CoreAdmin#CREATE上的描述使其工作

为我解决的是更新到Solr 5并使用定义共享solrconfig/schema的configSet(在4.8中引入).以下URL可用于创建具有相同配置的多个核心:

HTTP://本地主机:8983/Solr的/管理/内核行动=创建和名称= new_core&configSet = basic_configs

'basic_configs'是Solr 5 download(solr-5.0.0/server/solr/configsets/basic_config)附带的configSet的名称.启动Solr服务器后,该URL开箱即用.

https://cwiki.apache.org/confluence/display/solr/Config+Sets

  • 对于那些仍在寻找答案的人,实际上,这个是正确的.我想知道为什么buddy86的错误答案被接受了.它可能会误导像我这样的其他新手. (3认同)
  • 您使用了 Solr 5 的安装脚本吗?我遇到了与您相同的问题,但使用“configSet”对我不起作用。我使用与您完全相同的 URL(我的 Solr 也在 `localhost:8983` 上),但出现错误:`无法从目录 /var/solr/data/configsets/basic_configs` 加载配置。我不明白为什么它在“/var/solr”中查找 - 我的“solr.install.dir”是“/opt/solr”,但我的“solr.solr.home”是“/var/solr”。你看到同样的问题了吗? (2认同)