Lucene Solr 搭建手冊

 

Lucene Solr 搭建手冊java

1、demo搭建mysql

準備工做:web

Window server 2008+java_6.02+ apache-solr-1.4.0.zip+tomcat6sql

環境描述:數據庫

將 apache-solr-1.4.0.zip解壓到e:/Solr_home/ apache-solr-1.4.0apache

cd /u02/apache-solr-1.4.1/example瀏覽器

運行java -jar start.jartomcat

看到運行以後打開localhost:8983服務器

這個時候咱們會看到網絡

Error 404 - Not Found.

No context on this server matched or handled this request.
Contexts known to this server are: 

· /solr ---> org.mortbay.jetty.webapp.WebAppContext@e0e515{/solr,file:/E:/Sorl_Home/apache-solr-3.1.0/example/webapps/solr.war}

這個時候點擊solr.war的連接就能夠進入頁面了


這樣一個簡單的demo就運行起來

2、標準安裝(推薦按照黃色標記部分)

 上面的簡易安裝方式終究不能運用於正式場合,所以仍是須要標準安裝方式。 

 solr的安裝其實須要作的事情很少,由於自己就只須要運行起來是一個打包好的war包,只要配置OK就能夠運行於各個web container。 

 通用的solr安裝步驟以下: 

1. 準備好web container tomcat, jetty, resin等 

注意安裝前先中止web container服務器。 

2.解壓到隨便一個地方,拿出如下兩個文件:

<1>解壓目錄/dist/apache-solr-1.4.0.war;

<2>解壓目錄/example/solr;確保solr目錄有如下文件存在:

 solr/conf/solrconfig.xml;

 solr/conf/schema.xml;

 solr/data;[default index dir]

3.將解壓後的dist/apache-solr-1.4.0.war拿到tomcat/webapps,更名爲solr.war[自定義];

4.創建solr home,新建一個文件夾,存放在e:/Solr_Home(名稱自定義),將壓縮文件/example/solr拷貝下來,做爲一個基本模板,這樣e:/Solr_Home/solr作爲咱們的home,全部的配置文件將會從這裏讀取。

5.安裝於tomcat啓動web container 

啓動時有兩個東西須要作到: 

1要運行的solrwebapp 

能夠經過直接複製solrwar包到webapp目錄,也能夠經過其餘方式指定這個war的路徑 

總之是讓web container啓動solr這個應用。 

推薦將解壓出來的apache-solr-1.4.0.war,放到webapp目錄

2要指明solr home 1.4版本只看4最簡單

方式有4種: 

· 1. 設置java 的系統參數solr.solr.home(應該是solr.home,可是官網就是寫成solr.solr.home) 

· 如 -Dsolr.solr.home=C:\soft\solr 

· 2. 設置JNDI lookup "java:comp/env/solr/home" 

· 及在/conf/Catalina/localhost/solr.xml

· 3. 默認爲./solr目錄,即當前工做路徑下的solr 

· 因爲工做路徑容易形成問題,所以通常不推薦這種方式。(若是咱們啓動tomcat的時候是從tomcat/bin中啓動話,那麼solr很傻的會把默認solr_home當成tomcat/bin,這樣會在bin中去找conf文件形成報錯

· 4.solr1.4版本中的web.xml文件中能夠直接設置solr home,因此前面設置能夠不用設置,咱們在後面的地方再設置

6. 安裝於tomcat

    如下內容參考官網文檔 http://wiki.apache.org/solr/SolrTomcat.  

    1. 修改tomcatserver.xml文件 

主要是修改監聽端口,另外須要設置URIEncodingUTF-8。 注意:8080端口別重複用了,這裏最好修改一下。

    <Connector port="8082" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               redirectPort="8443" URIEncoding="UTF-8" /> 

    2. 增長tomcat\conf\Catalina\localhost\solr.xml文件 (若是方法2增長solr home那麼此處就要配置)

內容爲: 

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

<Context docBase="C:\soft\solr\apache-solr-1.4.1.war" debug="0" crossContext="true"> 

  <Environment name="solr/home" type="java.lang.String" value="C:\soft\solr" override="true"/> 

</Context> 

    使用的tomcat版本爲6.28。 

6.此時訪問http://localhost:8082/solr14會出現:

 "HTTP Status 500 - Severe errors in solr configuration.";

7.打開webapps下的solr14/WEB-INF/web.xml,將註釋掉的下面內容解放並修改value的值以下:

 <env-entry>

  <env-entry-name>solr/home</env-entry-name>

  <env-entry-value>e:/Solr_Home/solr</env-entry-value>

  <env-entry-type>java.lang.String</env-entry-type>

 </env-entry>

8.注意solr/home的值就是講solrconfdata目錄等的所在地。

9.如今再次訪問"http://localhost:8082/solr14/"是否是出現了"Welcome to Solr!"

這樣的話,咱們就在tomcat中配置好了solr

3、鏈接數據庫,增長數據庫索引

solr功能很是強大,能夠創建各類數據的索引,常見的企業應用中,少不了數據庫的索引的建立,能夠經過寫程序 能夠將數據讀出100條,若是你的內存夠大,能夠是1000條甚至更多,而後放入Collection中,批量提交至solr。或者讀取數據寫入xml文件中,再將該文件提交到solr等等。可是,solr帶了數據庫建立索引的功能,步驟以下: 

 

1把下載到的apache-solr-1.4.0\example\example-DIH\solr裏的內容複製到solr_home,能夠拿這個作模板使用 (原來的那個先重命名吧)

2、刪除\solr\rss,修改e:\Solr_Home\sorl\solr.xml  文件,去掉<core default="true" instanceDir="rrs" name="rrs"></core>該行 

3複製mysql驅動到e:\Solr_Home\solr\db\lib文件夾

4、到此,完成, 

運行測試: 

開始-運行 啓動tomcat6,若是上面配置無誤,能夠查看tomcat日誌看是否有錯誤,肯定無錯後,在瀏覽器輸入http://localhost:8082/solr/db/dataimport?command=full-import,既能夠看到輸出 

測試mysql數據庫(驅動文件咱們已經拷貝到lib

環境和建立的文件夾延續上面的 

步驟: 

1、修改e:\Solr_Home\solr\solr.xml文件內容爲 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 

<solr sharedLib="lib" persistent="true"> 

   <cores adminPath="/admin/cores"> 

     <core default="true" instanceDir="db" name="db"></core> 

   </cores> 

</solr> 

2、修改e:\Solr_Home\solr\db\conf\db-data-config.xml 內容爲: 

<dataConfig> 

   <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test" user="root" password=""/> 

   <document name="mybook"> 

       <entity name="book" pk="id" query="select * from book"> 

       <field column="id" name="id" /> 

       <field column="bookname" name="bookname" /> 

       <field column="bookathor" name="bookathor" /> 

     </entity> 

   </document> 

</dataConfig> 

3、由於booknamebookathor2個字段在e:\Solr_Home\solr\db\conf\schema.xml不存在,因此,要增長着2field 

<field name="bookname" type="string" indexed="true" stored="true" required="true" /> 

  <field name="bookathor" type="string" indexed="true" stored="true" required="true" /> 

注意:在該文件有<field  的地方增長, 

4、將e:\Solr_Home\solr\db\conf\solrconfig.xml 

設置<dataDir>${solr.data.dir:./solr/db/data}</dataDir> 

5、到此完成 

運行測試: 

開始-運行  cmd  進入命令行,切換目錄到D:\tomcat6.0.29,輸入bin\startup.bat,啓動tomcat6,若是上面配置無誤,能夠查看tomcat日誌看是否有錯誤,肯定無錯後,在瀏覽器輸入http://127.0.0.1:8082/solr/db/dataimport?command=full-import,既能夠看到輸出。經過上面訪問,就建立了數據庫索引 

能夠訪問http://127.0.0.1:8082/solr/db/admin/,在Query String: 輸入id:搜索內容(格式爲  要搜索的字段:搜索關鍵字)來測試是否已經將數據表中的數據創建了索引,也能夠在該界面修改搜索的參數 

最後在說說這個功能。上面的例子只不過是很簡單的一個部分。針對solrMultiCore,經過配置db-data-config.xml也能夠實現,還有多表,或者多表關聯等等操做只要在db-data-config.xml配置清楚均可以進行數據的導入。 

solr1.4中還有更多的擴展功能,這些功能爲重建索引提供能很方便的操做。並且,datasource不僅僅指的是database,能夠是xml文件,還能夠是來自網絡上的等等。

相關文章
相關標籤/搜索