Solr部署到tomcat,通过war包

2019-03-27 01:07|来源: 网路

1、下载tomcat服务器,解压

2、下载Solr,解压,我这里下的是3.6版本的

3、到Solr的dist目录下将apache-solr-3.6.0.war拷贝到tomcat服务器的webapps目录下

4、将Solr\example下面的multicore拷贝到tomcat\conf下面

multicore目录下面包含了Solr的基本配置。Solr支持配置多个实例,亦即,可以启动多个实例来服务于前端不同的搜索请求,每个实例对应一个core,而这样多个core的配置是通过multicore\solr.xml进行配置的,然后在multicore下面的每个目录中对应着每个core的详细配置,具体包括schema.xml(配置与Lucene的Field、Analyzer等相关的内容)、solrconfig.xml(这个是Solr实例核心的配置)

另外,如果在solrconfig.xml中没有指定<dataDir>索引目录配置,则默认会生成tomcat\conf\multicore\data\index目录,该目录下面存储索引文件

5、配置WAR程序的Context:在tomcat\conf\Catalina\localhost下面(如果目录不存在,则手动创建),创建文件apache-solr-3.6.0.xml

Context配置文件apache-solr-3.6.0.xml的内容如下所示:

<Context docBase="${catalina.home}/webapps/apache-solr-3.6.0.war" debug="0" crossContext="true" > 
<Environment name="solr/home" type="java.lang.String" value="${catalina.home}/conf/multicore" override="true" /> 
</Context> 

docBase指定了我们的WAR文件的位置,上面的"solr/home"非常关键,在Web容器启动以后会加载Solr的基本配置并初始化相应的组件实例,它会根据指定的"solr/home"配置的路径去搜索相关的配置,例如,上面我们将"solr/home"指向了目录tomcat\conf\multicore

6、设置Solr的字符集;

默认Solr使用了UTF-8字符集编码,如果你的Tomcat不是的话,在执行中文搜索的时候可能会出现乱码。如果你的Tomcat默认8080端口请求字符集就是UTF-8,并且想使用这个默认的端口提供搜索服务,则可以修改tomcat\conf\server.xml文件的内容,如下所示:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> 

上面我们增加了一个URIEncoding="UTF-8"的配置。

如果想使用一个新的未被占用的端口,则可以在tomcat\conf\server.xml中增加一个配置,例如使用8888端口,配置内容如下所示:

<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />

7、启动tomcat测试,在浏览器地址栏这种输入http://localhost:8080/apache-solr-3.6.0/


转自:http://www.cnblogs.com/llz5023/archive/2012/05/23/2515238

相关问答

更多
  • 在TOMCAT中部署war 1、将war文件拷贝到tomcat目录\webapps\ 下。 2、将必要的jar文件拷贝到tomcat目录\lib\ 下。 3、修改tomcat目录\conf\下的server.xml。 将这段代码中的 拷贝一下并修改:path="" 为war路径,docBase=""为你的war的文件名。 4...
  • 在TOMCAT中部署war 1、将war文件拷贝到tomcat目录\webapps\ 下。 2、将必要的jar文件拷贝到tomcat目录\lib\ 下。 3、修改tomcat目录\conf\下的server.xml。 将这段代码中的 拷贝一下并修改:path="" 为war路径,docBase=""为你的war的文件名。 4、完毕,启动tomcat
  • 你先别放项目进去,直接启动,打个localhost 8080 确认tomcat 没有问题,再把项目war放进入,如果有问题,程序代码的错误了。要看你启动日志了。
  • 主要取决于你的配置文件 tomcat下会有一个webapp文件夹,这里就是默认的,存放war的路径。 如你想更改,那么你打开conf文件夹下的server.xml文件,你会找到这句话: appBase所指定的就是默认的文件夹路径,这里使用的是相对路径,tomcat会根据自动配置的 环境变量来找到自己的安装根目录,然后在加上webapps就是完整路径了。 如果你想把自己的项目放到其它地方,比如tomcat安装在 C盘,项目放到D盘,你可以修改为 所以war可以在哪里使用,取决于你的配置路径。 由于Host标签 ...
  • 4.将war文件复制到“C:\ apache-tomcat-7.0.77 \ webapps \ MyProject”中。 您应该将war文件放到C:\ apache-tomcat-7.0.77 \ webapps \中。 然后,Tomcat将自动解压缩(进入以war文件命名的目录)并进行部署。 如果您自己创建一个webapp子文件夹,Tomcat认为它是一个已经解压缩的webapp(其中包含一个.war二进制文件),并部署它,但因为它实际上是空的(除了.war存档文件),你试图访问它时得到404。 4.C ...
  • 这是因为jasper,实际上hibernate已经包含在org.apache.lucene中了,所以在jasperreports中你应该排除它。 上面的那一步是在pom.xml中 这是我对jasperreport排除的配置 net.sf.jasperreports jasperreports 6.0.0
  • 尝试Jenkins,它用于自动化java项目的构建和部署。 https://jenkins.io/ try Jenkins, it is used for automating the build and deployment of java projects. https://jenkins.io/
  • 回答我自己的问题! :) 基本上,为了实现我的目标,我需要做以下事情: 在我的Maven POM文件中包含Solr WAR作为依赖项 将默认的Solr核心和配置( example/collection1/ )解压缩到我项目的子目录(我使用了cores/collection1 ) 在launch -Dsolr.solr.home上添加Java VM参数以指向cores目录( -Dsolr.solr.home=/path/to/my/project/cores ) 它不完全是自包含的(我仍然需要指向一个配置), ...
  • 只需更改war文件的名称即可。 您可以通过在命令行上指定它来更改Grails生成的名称: grails war war_file.war 或者在Config.groovy设置它: grails.war.destFile = "war_file.war" 如果要在服务器IP之后删除:8080,请将Tomcat侦听的默认端口更改为80。 Just change the name of the war file. You can change the name generated by Grails eith ...
  • 通过指定tag属性,可以在远程部署Web应用程序时标记部署 。 如果您正在使用Maven,则可以使用tomcat-plugin指定标记 。 假设您已经拥有插件设置,则只需指定属性即可。 例: http://example.com:8080/manager tomcat tomcat< ...