如何在 Solr 5 中创建新核心?

How to create new core in Solr 5?

目前我们正在使用 Apache Solr 4.10.3Heliosearch D分发 Solr [HDS] 作为搜索引擎来索引我们的数据。

之后,我得到了关于 Apache Solr 5.0.0 上个月发布的消息。我已经成功安装了 Apache Solr 5.0.0 版本,现在它的 运行 正确地安装在 8983 端口上(意味着只有 运行 solr 但无法创建核)。在那个 UI 中,我找不到示例核心以及它下面的架构或配置文件。所以,我开始创建新的核心,就像我们在旧版本中创建的一样,但无法创建一个。以下是错误,我明白了:

Error CREATEing SolrCore 'testcore1': Unable to create core [testcore1] Caused by: Could not find configName for collection testcore1 found:null

注意:我还在 Solr 的左侧(即 http://localhost:8983/solr/)看到 Cloud 选项卡 UI 也不知道它是如何工作的?这意味着我不知道 schema.xmlsolrconfig.xml 文件的位置,因为缺少示例文件夹 (Collection1) 以及如何更新这些文件?

是否有任何有用的文档或解决方案可用于解决此错误?

在 Solr 5 中,发行版中提供的 bin/solr 脚本支持创建核心。尝试

bin/solr create -help

快速介绍。

从上面的帮助文档中,您可能会发现:

bin/solr create [-c name] [-d confdir] [-n configName] [-shards #] [-replicationFactor #] [-p port]
{SOLR_INSTALLATION}/server/solr/configsets\basic_configs\conf

您可以找到示例 schema.xmlsolrconfig.xml。 如果你想创建新的核心 {SOLR_INSTALLATION}/server/solr/{new core name} 文件夹并创建包含所需架构和 solrconfig.xml 以及空白 core.properties 文件的 conf 文件夹。 您可以在

中找到架构和配置的示例
{SOLR_INSTALLATION}/example/example-DIH/solr

使用网络界面创建 进入bin目录并发出

   ./solr start -e cloud -noprompt

这将启动 solr。 转到 http://localhost:8983 (这是假设您在本地主机上 运行)

点击核心管理员,他们 "Add Core"

在 Solr 5.4.0 中,使用 Solr-5.x.x 文件夹(Solr 安装文件夹)中的命令创建新核心,如下所示,

$ bin/solr create -c <name>

请参阅 Apache Solr 5.4 的文档https://cwiki.apache.org/confluence/display/solr/Running+Solr

使用提供的 solr 脚本和 solr 用户权限创建 Solr 核心,例如

cd /opt/solr
sudo -u solr ./bin/solr create -c testcore1

运行 bin/solr --help 用于语法指导。

对于任何其他问题,请检查您的 Solr 日志(例如 /var/solr/logs/solr.log)。

相关:SOLR-7826: Permission issues when creating cores with bin/solr as root user.

您可以在 collection 目录中找到您的 solrconfig.xml 和 schema.xml。 转到 /usr/lib/ambari-infra-solr/server/solr,您将看到一个与 collection 同名的文件夹,其中包含架构和配置文件。 在 conf 文件夹中会有一个 managed-schema 文件和您一直在搜索的其他文件。

至于这个错误 创建 SolrCore 时出错 'testcore1':无法创建核心 [testcore1] 原因:找不到 collection testcore1 found:null 的配置名称 当您从 UI 创建 solr collection 时,一定会出现此错误。 为此,请转到 solr.cmd 所在的位置并键入以下代码 ./solr 创建-c -d -s -r

solr/example/conf to solr/server/solr/ 复制 conf