【发布时间】:2011-08-26 17:56:22
【问题描述】:
我有两个 bat 文件 start.bat 和 stop.bat 用于手动启动和停止 SOLR 服务器, 我是否可以创建一个 Windows 服务,它将在启动服务时调用 start.bat 并在停止服务时调用 stop.bat
【问题讨论】:
我有两个 bat 文件 start.bat 和 stop.bat 用于手动启动和停止 SOLR 服务器, 我是否可以创建一个 Windows 服务,它将在启动服务时调用 start.bat 并在停止服务时调用 stop.bat
【问题讨论】:
考虑 Tomcat 的 Solr 多核功能。每个核心就像一个成熟的安装,“独立的配置和索引,有自己的配置和架构用于非常不同的应用程序,但仍然具有统一管理的便利”http://wiki.apache.org/solr/CoreAdmin
即使您不使用多个索引,设置起来也更加优雅。如果 Tomcat 以这种方式设置,Solr 在启动时可用。我假设您使用的是 Solr 1.4。
您需要执行以下步骤:
概览
c:\solr
|-lib
|-solr.war
|-solr.xml
solr.xml有如下内容
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false" sharedLib="lib">
<cores adminPath="/admin/cores">
<core name="myindex" instanceDir="myindexdir" />
</cores>
</solr>
核心参数指定一个新核心。属性指定为服务 http//localhost:8080/mysearchapp/myindex,索引目录是 myindexdir,这将我们带到下一步。
概览
c:\solr
|-lib
|-solr.war
|-solr.xml
|-myindexdir
|-bin
|-conf
|-data
创建文件mysearchapp.xml
Context docBase="c:\solr\solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="c:\solr\" override="true" />
</Context>
重启tomcat并打开http://localhost:8080/mysearchapp/ 如果一切顺利,它将显示
Welcome to Solr!
Solr Admin myindex
现在像http://localhost:8080/mysearchapp/myindex/select?q=MY-QUERY一样在你的核心上进行操作
【讨论】:
Solr 运行在像 Tomcat 这样的 Servlet 容器之上。因此,要启动 Solr,您必须使用 Servlet 容器配置 Solr,然后启动。
是的,您当然可以创建 Windows 服务。但是您还没有提到您使用哪个 Servlet 容器来运行 Solr?
如果是 Apache Tomcat,你去:
1. Just go to tomcat/bin folder from command prompt
2. Say service.bat install
3. You can see the service being listed in the Microsoft Services
Application
4. Right click on the service and add solr home (in Start
parameters). For an example if your Solr home is in D drive then:
-Dsolr.solr.home="D:\solr"
5.You are done. Just right click on the service, start it or even you can set
it to start automatically when your system starts.
【讨论】: