Tomcat SOLR多核设置

时间:2010-04-26 14:02:12

标签: tomcat solr core multicore

我整个上午都在尝试在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中进行更改?

2 个答案:

答案 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的博文,内容如下:

  
  1. 下载并安装32位/ 64位Windows服务   Tomcat的安装程序
  2. 在服务器上安装Tomcat(没有   这里有特别说明 - 只需运行安装并在任何地方安装   (希望)
  3. 通过访问http:// localhost:8080验证Tomcat的安装
  4. 编辑Tomcat的   conf / server.xml并将 URIEncoding =“UTF-8”添加到   &LT;连接器及GT;元素如此处所示
  5. 下载   SOLR来自这里发现的一个镜像(下载了apache-solr-1.4.1.zip   包)并解压缩包
  6. 创建一个SOLR目录   将托管(在我的情况下,我使用e:\ inetpub \ solr)
  7. 复制   您的 example \ solr 目录的内容   SOLR主机目录(在我的例子中是e:\ inetpub \ solr)
  8. 创建   您的每个核心的SOLR主机目录下的目录   希望创建(我为每个我想要的核心创建了十几个文件夹   在e:\ inetpub \ solr目录中创建。目录   包括en-US,en-CA,en-GB等。)
  9. 复制   来自的 solr.xml 文件    example \ multicore 目录并将其粘贴到您的   SOLR主机目录(对于我的例子,e:\ inetpub \ solr)
  10. 编辑    solr.xml 文件包含每个文件的信息   您创建的核心数(如果您在主机下创建了一个文件夹)   一个名为 en-US 的核心,然后添加以下内容   &LT;核&GT; solr.xml 文件中的元素:   &lt; core name =“en-US”instanceDir =“en-US”/&gt;
  11.     
  12. 停止Tomcat服务
  13. 从中复制* solr * .war文件   解压缩的SOLR包中的 dist 目录   到您的Tomcat webapps 文件夹
  14. 重命名   * solr * .war文件到solr.war
  15. 在Windows任务栏右侧的通知区域中,右键单击    Apache Tomcat 7 图标并选择   配置
  16. 单击 Java   选项卡并将以下内容添加到 Java选项文本中   框: -Dsolr.solr.home = e:\ inetpub \ solr (更改   e:\ inetpub \ solr到托管SOLR的任何地方)
  17. 点击   在对话框中确定,然后启动Tomcat   服务
  18. 打开 conf \ solrconfig.xml 文件   在您创建的每个核心下并更改    dataDir 元素指向特定的   目录。如果此步骤未完成,则所有核心都将完成   为他们的数据使用相同的数据存储。
  19. 停止和   重新启动Tomcat服务
  20. 测试您的核心是否正在运行   通过从Web浏览器运行查询http:// localhost:8080 / solr / en-US / select?q = *:*(替换   “en-US”,无论你指定了哪一个核心)