我有两个bat文件start.bat和stop.bat用于手动启动和停止SOLR服务器, 我是否可以创建一个windows serive,它将在启动服务时调用start.bat并在停止sERVICE时调用stop.bat
答案 0 :(得分:2)
考虑使用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
那样对您的核心进行操作答案 1 :(得分:0)
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.