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

Posted

技术标签:

【中文标题】如何在 Solr 5 中创建新内核?【英文标题】:How to create new core in Solr 5? 【发布时间】:2015-05-18 04:39:43 【问题描述】:

目前我们正在使用 Apache Solr 4.10.3Heliosearch Ddistribution for S olr [HDS] 作为搜索引擎来索引我们的数据。

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

创建 SolrCore 'testcore1' 时出错:无法创建核心 [testcore1] 原因:找不到集合 testcore1 的配置名称:null

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

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

【问题讨论】:

【参考方案1】:

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

bin/solr create -help

快速介绍。

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

bin/solr create [-c name] [-d confdir] [-n configName] [-shards #] [-replicationFactor #] [-p port]

【讨论】:

谢谢。现在核心已创建,但我无法在该目录中看到 schema.config 文件。如何用较新的文件更新我现有的文件?另外我不知道 solr UI 中的云?? 我无法在您提供的 solr5 路径中找到该文件。你检查过 solr5 吗? SOLR_INSTALLATION/server/webapps/solr/CORE_NAME/conf/修正* 仍然无法获取文件。实际上,我在SOLR_INSTALLATION/server/webapps/ 位置看到了solr.war 文件。那就是SOLR_INSTALLATION/server/webapps/ 不存在“solr”文件夹。 您也可以在 UI 中查看路径。 localhost:[PORT]/solr/[CORE] 应该反映核心的位置。【参考方案2】:

在 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 的此文档

【讨论】:

显示以下错误:ERROR: C:\solr\server\solr\configsets not found!【参考方案3】:
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

【讨论】:

【参考方案4】:

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

   ./solr start -e cloud -noprompt

这将启动 solr。 转至http://localhost:8983 (这是假设您在 localhost 上运行)

点击核心管理员,他们“添加核心”

【讨论】:

【参考方案5】:

使用提供的 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.

【讨论】:

【参考方案6】:

您可以在集合目录中找到您的 solrconfig.xml 和 schema.xml。 转到 /usr/lib/ambari-infra-solr/server/solr ,您将看到一个与集合名称相同的文件夹以及架构和配置文件。 在 conf 文件夹中会有一个托管模式文件和您一直在搜索的其他文件。

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

【讨论】:

以上是关于如何在 Solr 5 中创建新内核?的主要内容,如果未能解决你的问题,请参考以下文章

如何在solrj中创建新核心

使用JUnit4编写Solr插件的单元测试,包括创建集合

如何在 Laravel 中创建新用户?

如何在现有 WCF 服务中创建新方法?

如何在每次迭代中创建新向量?

如何在 MPI 中创建新类型