一個項目要求,需要做一個站內搜索,由於偏愛apache 的東西,由於喜歡他們的wiki,所以選擇了solr,所以選擇了tomcat 作爲容器。
我們的數據一般都放在db中, 所以在初始化的時候,我們必須從數據庫中倒入數據,作爲原始的積累。
好的,三步走,跟我來。
1. 從apache的官網下載solr 和 tomcat 最新的包,並解壓。
2. 在solr的example中自帶了簡化版的jetty,直接運行,不過我們要搭建自己的實例,必須得模仿example中的內容了。
3. 在example/webapps目錄下面找到solr.war,copy到tomcat的webapps下面。
4. 修改tomcat conf 目錄下面server.xml ,在<host .....></host>中添加如下代碼:
<Context path="/solr" docBase="/data/web/tomcat-search/webapps/solr.war" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="/data/web/solr" override="true" /> </Context>
5. 把solr 中example/lib 下ext 目錄下的jar包,考到tomcat lib下去。
6. 在tomcat server.xml 配置中提到 /data/web/solr, 不錯,這就是solr的本體,用來響應請求的,solr example/solr 是這個的模版,我們考過去,collection1可以看作一個數據集,我們必須修改conf中的配置solrconfig.xml. 找到 <lib dir=...></lib>這種標籤,裏面依賴的jar包路徑都寫成正確的路徑。
7. 啓動tomcat,就沒有問題了,在example/exampledocs中運行post.sh 來測試一下寫,訪問http://localhost:8080/solr/collection1/browse 來看有沒有寫進去。