如何在linux OS中设置solr / home?

时间:2009-08-06 08:11:49

标签: solr tomcat6 catalina

我知道如何使用Tomcat 6配置solr.home,但我不知道如何使用Glassfish(V2.1)设置solr.home。我试图将solr.home设置为.profile作为研究员:

export solr.home=/home/huenzhao/search/solr
export solr/home=/home/huenzhao/search/solr
export solr.solr.home=/home/huenzhao/search/solr
export JAVA_OPTS=$JAVA_OPTS -Dsolr.solr.home=/home/huenzhao/search/solr

他们都不行。错误是:

  

HTTP状态500 - solr配置中的严重错误。检查你的日志   有关可能出错的更详细信息的文件。如果你想   solr在配置错误后继续,更改:   false为null   -------------------------------------------------- ----------- java.lang.RuntimeException:找不到资源'solrconfig.xml'   classpath或'solr / conf /',   cwd = / home / huenzhao / search / glassfish / domains / domain1 / config at   org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:194)   在   org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:162)   在org.apache.solr.core.Config。(Config.java:100)at   org.apache.solr.core.SolrConfig。(SolrConfig.java:113)at at   org.apache.solr.core.SolrConfig。(SolrConfig.java:70)at   org.apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.java:117)   在   org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:69)   在   org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:273)   在   org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:385)   在   org.apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:119)   在   org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4498)   在   org.apache.catalina.core.StandardContext.start(StandardContext.java:5317)   在com.sun.enterprise.web.WebModule.start(WebModule.java:353)at   org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:989)   在   org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:973)   在   org.apache.catalina.core.StandardHost.addChild(StandardHost.java:704)   在   com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1627)   在   com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1232)   在   com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:182)   在   com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:278)   在   com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1005)   在

...

有人知道吗?

3 个答案:

答案 0 :(得分:4)

如果你在tomcat中运行solr作为容器,你可以在这个webapp的XML描述符中指定solr home。 (我的术语可能有点偏离)。

我为每个想要运行的solr实例提供了xml片段,并在xml片段中指定了自己的本地solr主目录。这些片段位于/ conf / Catalina / localhost,每个片段都管理一个solr实例。这样我就可以在同一台机器上拥有多个solr实例,每个实例都有自己的solr home变量。

信息在这里: http://wiki.apache.org/solr/SolrTomcat

特别是

  

创建一个Tomcat Context片段   将docBase指向   $ SOLR_HOME / apache-solr-1.3.0.war文件   和solr / home到$ SOLR_HOME:

     

  
    符号链接   或将文件放入   $ CATALINA_HOME / conf目录/卡塔利娜/本地主机/ Solr的-的example.xml,   Tomcat会自动选择的地方   它了。 Tomcat删除该文件   取消部署(自动发生)   如果配置无效)。

答案 1 :(得分:1)

尝试设置以下内容:

export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/home/huenzhao/search/solr/" 

答案 2 :(得分:0)

尝试从Java设置Java环境参数或编辑VM配置:

System.setProperty("solr.solr.home", "/home/user/apache-solr-1.4/example/solr");

在我的情况下,我只是将'solr'文件夹复制到glassfish / domains / domain1 / config并且它有效。