我整个上午都在尝试在Apache Tomcat服务器下运行的SOLR安装上设置多个内核但没有成功。我的solr.xml看起来像这样:
<solr persistent="false" sharedLib="lib">
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="/multicore/core0">
<property name="dataDir" value="/multicore/core0/data" />
</core>
<core name="core1" instanceDir="/multicore/core1">
<property name="dataDir" value="/multicore/core1/data" />
</core>
</cores>
</solr>
正确的目录结构是什么?我是否需要在solrconfig.xml中进行更改?
答案 0 :(得分:10)
检查您的instanceDir值是否与-Dsolr.solr.home相关。如果-Dsolr.solr.home是'multicore',那么你的instanceDir应该只是“core0”。
如果将数据文件夹放在instanceDir中,则不必指定其路径:
<?xml version='1.0' encoding='UTF-8'?>
<solr persistent="true">
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
</cores>
</solr>
您不必在solrconfig.xml中设置任何内容。但是,如果您需要独立于核心位置配置处理程序,则可以使用变量$ {solr.core.instanceDir}。
<强>更新强>
要使用Tomcat设置solr.solr.home变量,请在启动Tomcat之前使用JAVA_OPTS环境变量:
JAVA_OPTS="-Dsolr.solr.home=multicore"
export JAVA_OPTS
tomcat/bin/catalina.sh start
确保相对于工作目录正确设置了“multicore”。例如,如果solr.solr.home ='multicore',则必须从“multicore”所在的目录启动Tomcat。
答案 1 :(得分:6)
这在游戏中已经很晚了,但我刚刚发布了一篇instructions for a multicore SOLR instance on Tomcat的博文,内容如下:
- 下载并安装32位/ 64位Windows服务 Tomcat的安装程序
- 在服务器上安装Tomcat(没有 这里有特别说明 - 只需运行安装并在任何地方安装 (希望)
- 通过访问http:// localhost:8080验证Tomcat的安装
- 编辑Tomcat的 conf / server.xml并将 URIEncoding =“UTF-8”添加到 &LT;连接器及GT;元素如此处所示
- 下载 SOLR来自这里发现的一个镜像(下载了apache-solr-1.4.1.zip 包)并解压缩包
- 创建一个SOLR目录 将托管(在我的情况下,我使用e:\ inetpub \ solr)
- 复制 您的 example \ solr 目录的内容 SOLR主机目录(在我的例子中是e:\ inetpub \ solr)
- 创建 您的每个核心的SOLR主机目录下的目录 希望创建(我为每个我想要的核心创建了十几个文件夹 在e:\ inetpub \ solr目录中创建。目录 包括en-US,en-CA,en-GB等。)
- 复制 来自的 solr.xml 文件 example \ multicore 目录并将其粘贴到您的 SOLR主机目录(对于我的例子,e:\ inetpub \ solr)
- 编辑 solr.xml 文件包含每个文件的信息 您创建的核心数(如果您在主机下创建了一个文件夹) 一个名为 en-US 的核心,然后添加以下内容 &LT;核&GT; solr.xml 文件中的元素: &lt; core name =“en-US”instanceDir =“en-US”/&gt; )
- 停止Tomcat服务
- 从中复制* solr * .war文件 解压缩的SOLR包中的 dist 目录 到您的Tomcat webapps 文件夹
- 重命名 * solr * .war文件到solr.war
- 在Windows任务栏右侧的通知区域中,右键单击 Apache Tomcat 7 图标并选择 配置
- 单击 Java 选项卡并将以下内容添加到 Java选项文本中 框: -Dsolr.solr.home = e:\ inetpub \ solr (更改 e:\ inetpub \ solr到托管SOLR的任何地方)
- 点击 在对话框中确定,然后启动Tomcat 服务
- 打开 conf \ solrconfig.xml 文件 在您创建的每个核心下并更改 dataDir 元素指向特定的 目录。如果此步骤未完成,则所有核心都将完成 为他们的数据使用相同的数据存储。
- 停止和 重新启动Tomcat服务
- 测试您的核心是否正在运行 通过从Web浏览器运行查询http:// localhost:8080 / solr / en-US / select?q = *:*(替换 “en-US”,无论你指定了哪一个核心)