windows - 如何在 Tomcat 中安装 Solr?

标签 windows solr tomcat6

我已将文件 apache-solr-3.5.0.war 放在文件夹 C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps 中。

文件夹“apache-solr-3.5.0”会自动创建。当我访问:http://localhost:8080/apache-solr-3.5.0/

我可以看到消息“欢迎使用 Solr!”。

现在,当我对文件夹 C:\Program Files\Apache Software Foundation\Tomcat 6.0\webappssolr-4.3.1.war 执行完全相同的操作时

文件夹 solr-4.3.1 会自动创建。但是现在当我去:

http://localhost:8080/solr-4.3.1/ OR to http://localhost:8080/solr-4.3.1/admin.html

我看到错误:

HTTP Status 404 - type Status report

Message: description The requested resource is not available.

Apache Tomcat/6.0.37

我错过了什么?

更新:

这显示在 Tomcat 控制台窗口中:

INFO: Solr
home set to 'solr/' 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader <init> INFO: Solr home set to
'solr\.\' 12-jul-2013 18:27:36 org.apache.solr.common.SolrException
log SEVERE: java.lang.RuntimeException: Can't find resource
'solrconfig.xml' in class sath or 'solr\.\conf/', cwd=C:\Program
Files\Apache Software Foundation\Tomcat
6.0
        at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoad
er.java:268)


12-jul-2013 18:27:36 org.apache.solr.servlet.SolrDispatchFilter init
INFO: user.dir=C:\Program Files\Apache Software Foundation\Tomcat 6.0
12-jul-2013 18:27:36 org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init() done 12-jul-2013 18:27:36
org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init()
12-jul-2013 18:27:36 org.apache.solr.core.SolrResourceLoader
locateSolrHome INFO: No /solr/home in JNDI 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: solr home
defaulted to 'solr/' (could not find system property or JNDI)
12-jul-2013 18:27:36 org.apache.solr.servlet.SolrServlet init INFO:
SolrServlet.init() done 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No
/solr/home in JNDI 12-jul-2013 18:27:36
org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: solr home
defaulted to 'solr/' (could not find system property or JNDI)
12-jul-2013 18:27:36 org.apache.solr.servlet.SolrUpdateServlet init
INFO: SolrUpdateServlet.init() done 12-jul-2013 18:27:36
org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web
application archive solr-4.3.1.war 12-jul-2013 18:27:36
org.apache.catalina.core.StandardContext start SEVERE: Error
filterStart 12-jul-2013 18:27:36
org.apache.catalina.core.StandardContext start SEVERE: Context
[/solr-4.3.1] startup failed due to previous errors 12-jul-2013
18:27:36 org.apache.catalina.startup.HostConfig deployDirectory INFO:
Deploying web application directory ROOT 12-jul-2013 18:27:36
org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote
HTTP/1.1 on http-8080 12-jul-2013 18:27:36
org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on
/0.0.0.0:8009 12-jul-2013 18:27:36 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/56  config=null 12-jul-2013 18:27:36
org.apache.catalina.startup.Catalina start INFO: Server startup in 880
ms

我解压缩的 Solr 文件夹包含这些文件夹:

css  
img  
js  
META-INF  
tpl  
WEB-INF  

更新

将其添加到我的环境变量后:

JAVA_OPTS = $JAVA_OPTS -Dsolr.solr.home=C:/Databases/solr-4.3.1/example/solr

启动后出现这两个错误:

SEVERE: org.apache.solr.common.SolrException: Invalid luceneMatchVersion 'LUCENE_43', valid values are: [LUCENE_20, LUCENE_21, LUCENE_22, LUCENE_23, LUCENE_24,LUCENE_29, LUCENE_30, LUCENE_31, LUCENE_32, LUCENE_33, LUCENE_34,LUCENE_35, LUCENE_CURRENT] or a string in format 'V.V'


SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For other containers, the corresponding directory should be used.

完整日志:

SEVERE: org.apache.solr.common.SolrException: Invalid luceneMatchVersion 'LUCENE _43', valid values are: [LUCENE_20, LUCENE_21, LUCENE_22, LUCENE_23, LUCENE_24, LUCENE_29, LUCENE_30, LUCENE_31, LUCENE_32, LUCENE_33, LUCENE_34, LUCENE_35, LUC ENE_CURRENT] or a string in format 'V.V'
    at org.apache.solr.core.Config.parseLuceneVersionString(Config.java:353)

13-jul-2013 13:46:02 org.apache.solr.servlet.SolrDispatchFilter init INFO: user.dir=C:\Program Files\Apache Software Foundation\Tomcat 6.0
13-jul-2013 13:46:02 org.apache.solr.servlet.SolrDispatchFilter init INFO: SolrDispatchFilter.init() done 13-jul-2013 13:46:02 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init()
13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: using system property solr.solr.home: C:\Databases\solr-4.3.1\exam ple\solr
13-jul-2013 13:46:02 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init() done 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: using system property solr.solr.home: C:\Databases\solr-4.3.1\exam ple\solr
13-jul-2013 13:46:02 org.apache.solr.servlet.SolrUpdateServlet init INFO: SolrUpdateServlet.init() done
13-jul-2013 13:46:02 org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive solr-4.3.1.war 13-jul-2013 13:46:03 org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jar s. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext direct ory. For other containers, the corresponding
directory should be used. For more information, see:
http://wiki.apache.org/solr/SolrLogging

更新 3

我现在收到“HTTP 状态 503 - 服务器正在关闭”错误。

14-jul-2013 14:21:57 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performanc
e in production environments was not found on the java.library.path: C:\Program
Files\Apache Software Foundation\Tomcat 6.0\bin;C:\Windows\Sun\Java\bin;C:\Windo
ws\system32;C:\Windows;C:\Program Files\Common Files\Microsoft Shared\Windows Li
ve;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\
system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShe
ll\v1.0\;C:\Program Files\TortoiseSVN\bin;c:\msxsl;C:\Program Files (x86)\Window
s Live\Shared;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program File
s (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows
 Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110
\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Prog
ram Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQ
L Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL S
erver\110\DTS\Binn\;C:\Program Files (x86)\Java\jre6\bin;C:\Program Files\Java\j
re631\bin;.
14-jul-2013 14:21:57 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
14-jul-2013 14:21:57 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 283 ms
14-jul-2013 14:21:57 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
14-jul-2013 14:21:57 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.37
14-jul-2013 14:21:57 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
14-jul-2013 14:21:57 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive solr-4.3.1.war
log4j:WARN No appenders could be found for logger (org.apache.solr.servlet.SolrD
ispatchFilter).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more in
fo.
14-jul-2013 14:21:58 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
14-jul-2013 14:21:58 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
14-jul-2013 14:21:58 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
14-jul-2013 14:21:58 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/55  config=null
14-jul-2013 14:21:58 org.apache.catalina.startup.Catalina start
INFO: Server startup in 719 ms

我阅读了有关此错误的内容 here ,但在添加我的 logging.properties 之后。

最佳答案

在Tomcat中安装Solr

先决条件

1 – 装有 Windows 操作系统的机器(Windows 7、8、Xp.. ..等)

2 – Java 6 或以上

3 - Solr 4.0.0 或以上

4 – Apache-tomcat 6 或更高版本。

在 Tomcat 服务器上启动 Solr 的步骤

1.在您的机器上安装 Tomcat 并确保它已准备好启动。(使用 localhost:8080 检查)

2.安装Solr4.0分发包apache-solr-4.0.0.zip并解压到本地目录如C:\apache-solr-4.0.0

3.在本地机器上创建一个名为 solr-home 的文件夹,例如 C:\solr_home。

4.回到你下载的solr分发包C:\apache-solr-4.0.0。查看 Examples/solr ("C:\solr-4.4.0\example\solr") 文件夹。将所有这些文件复制到 C:\solr_home 文件夹中。(服务器关闭异常将出现)

5.查看 C:\solr-home\solr,你会看到两个名为 collection1 和 bin 的文件夹,将这两个文件夹复制到 C:\solr_home。(如果 lib 没有复制“严重错误 filterstart”异常来了)

6.将 C:\apache-solr-4.0.0\example\lib\ext SLF4J 和 log4j.jar 文件中的 lib 复制到 Tomcat Lib 文件夹 C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib ( https://wiki.apache.org/solr/SolrLogging#Using_the_example_logging_setup_in_containers_other_than_Jetty )

7.将 apache-solr-4.0.war(重命名为 solr.war)从“C:\solr-4.4.0\dist”目录复制到 Tomcat 内的 webapps 目录。(C:\Program Files\Apache Software Foundation\Tomcat 6.0\网络应用)

8.如果 tomact 已经启动,则将创建 solr 文件夹 转到 "C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\solr\WEB-INF\web.xml"编辑 web.xml 取消注释条目并进行如下编辑(由于初始化失败,异常 SolrCore 'collection1' 不可用)

<env-entry>
   <env-entry-name>solr/home</env-entry-name>
   <env-entry-value>C:\solr_home\solr</env-entry-value>
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

9.启动Tomcat,查看localhost:8080/solr dashBoard会来

关于windows - 如何在 Tomcat 中安装 Solr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17619809/

相关文章:

json - 用于存储 JSON 对象的 Solr 字段类型是什么?

CPU 利用率为 100% 的等待状态的 Apache Tomcat 线程

windows - chrome 在重新加载网页时从缓存中加载

.net - 如何在Visual Basic .NET中找到默认的音频设备?

java - 当每个要排名的实体都是一组文档时,可以使用 Lucene 吗?

elasticsearch - 如何使Elasticsearch聚合忽略过滤器,方法与Solr Facets类似

java - Tomcat 的 war servlet 中内存泄漏

java - 在 WAR 文件中定义 Servlet 上下文

python - 如何在 python 中将 SHGetFileInfo 与 SHGFI_PIDL 一起使用

c# - 如何确定当前Windows定时器的分辨率?