我正在制作一个基于Web的Solr应用程序,其中一个功能是用户可以为Solr创建核心和架构。我的朋友首先使用子进程,然后使用命令' bin / solr create -c ...'核心可以创建。但我正在考虑另一种方法,比如使用http api请求。我发现了这个。
http://localhost:8983/solr/admin/cores?action=CREATE&name=mycore&instanceDir=path/to/instance&configSet=configset2
但显然,它无法正常运行,因为你需要先为核心制作配置文件。错误就是这样说的。
Error CREATEing SolrCore 'mycore': Unable to create core [mycore] Caused by: Could not load configuration from directory/opt/solr/server/solr/configsets/configset2
所以我想知道我可以做什么样的方法,因为我似乎无法在没有先设置配置的情况下制作核心。或者我应该创建一个带有创建核心的输入菜单,创建模式,并且只有在用户点击“提交”后才能创建模式。它将处理所有内容,从创建配置文件,创建模式,然后最终创建核心?我想知道它是否是最佳方法。 我期待着任何帮助。
答案 0 :(得分:1)
创建核心时始终需要提供配置。
当您的朋友运行该命令时,它实际上使用了默认配置 data_driven_schema_configs ,您可以通过阅读 create_core 命令(创建)中的说明进行确认strong>是非云设置的 create_core 的别名:
bin/solr create_core -h
solr脚本复制了该配置,然后用它创建了核心。
您展示的示例仅对SolrCloud有效。如果您没有使用SolrCloud,则需要使用Core Admin API directly并手动设置配置目录。
请注意,如果从同一个配置集创建多个内核,则配置集有点棘手,该配置集是共享的,一个内核对其进行的更改会影响所有内核。所以,你很可能不想使用它们,而是按照我的描述复制配置。