solr與tomcat整合

1、準備工做:我使用的是tomcat7.0,solr-4.8.1java

solr-4.8.1解壓後是這樣的。tomcat

2、開始配置了ide

一、首先要建立兩個文件夾。home和server。我是建立在與solr-4.8.1同一根目錄上的。D:\work-tool\server\solr\home和D:\work-tool\server\solr\serverurl

二、從solr-4.8.1\dist複製solr-4.8.1.war到D:\work-tool\server\solr\server解壓。解壓後的文件重命名爲solr。spa

三、從solr-4.8.1\example\multicore複製全部到以前新建的文件夾home下,這裏是索引根數據。文件裏會有默認的core0、core1你也能夠添加本身的索引,好比複製core1文件改成mycore,打開home下的solr.xml配置本身的索引。debug

<solr persistent="false">

  <!--
  adminPath: RequestHandler path to manage cores.  
    If 'null' (or absent), cores will not be manageable via request handler
  -->
  <cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
    <core name="core0" instanceDir="core0" />
    <core name="core1" instanceDir="core1" />
    <core loadOnStartup="true" name="mycore" instanceDir="D:\work-tool\server\solr\home\mycore" transient="false" collection="test"/>

    <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
      <str name="urlScheme">${urlScheme:}</str>
    </shardHandlerFactory>
  </cores>
        
</solr>

四、在tomcat/conf/catalina/localhost下新建solr.xml,若是tomcat的conf文件夾下沒有/catalina/localhost,能夠本身建立。以下:code

<?xml version="1.0" encoding="utf-8"?>

<Context docBase="D:\work-tool\server\solr\server\solr-4.8.1.war" reloadable="true" >

      <Environment name="solr/home" type="java.lang.String" value="D:\work-tool\server\solr\home" override="true" />

</Context>

五、從solr-4.8.1\example\lib\ext複製全部的jar到tomcat/lib下。server

六、完成上述步驟之後,啓動tomcat,訪問http://localhost:8080/solr/admin確認是否配置正常。去tomcat目錄下的bin。經過startup.bat來啓動tomcat。xml

若是你不想8080的端口號和你以前的項目的端口號重複。blog

能夠拷貝一個tomcat到一個地方,這個tomcat是你給solr用的。而後在該tomcat/conf文件夾下的server.xml文件,將端口號改了。

在這裏我改爲8983,訪問http://localhost:8983/solr/admin就能夠了,驗證是否成功。

若是能看到下面的界面,就說明成功了。訪問成功以後在home文件夾下的con0和con1下都會多了一個文件夾data,本來只是有conf這個文件夾的。本身配置的mycore下也多了data。

相信學過servlet的人應該知道配置項目還有一種方式就是在tomcat的con/server.xml中配置context,放在host節點裏面,如:

 <Context path="/mysolr" docBase="D:\work-tool\solr\my\solr\server\solr" debug="0" crossContext="true">
        
      </Context>       

path的意思是訪問路徑,以前是solr,如今是mysolr,docBase就是項目的位置,這個路徑要是這樣的結構才行

相關文章
相關標籤/搜索