1. 程式人生 > >Solr技術配置,以及資料匯入和分詞器的使用

Solr技術配置,以及資料匯入和分詞器的使用

1 下載好solr 4.9.1版本 解壓solr的zip包,目錄如下。 在這裡插入圖片描述 2 將dist目錄下的solr-4.9.1.war檔案複製到tomcat的webapps目錄下,並將檔案命名為solr.war。 3 啟動tomcat,會發現solr.war已解壓成為資料夾,在刪除tomcat 的webapps目錄下的solr的war包。 4 複製solr解壓包lib/ext下的jar檔案到tomcat的lib目錄下 在這裡插入圖片描述

5 在計算機本地新建一個資料夾solr_home, 然後複製solr-4.9.1\example\solr 下的所有檔案到 solr_home下,後其中bin目錄無用刪除掉。 6 修改配置檔案\webapps\solr\WEB-INF\web.xml 在最後面新增如下: D:/solr_home-指向你的建立solr_home的路徑

  <env-entry> 
    <env-entry-name>solr/home</env-entry-name>   
    <env-entry-value> D:/solr_home</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type> 
    </env-entry>

至此solr部署完成,下面開始連線mysql資料庫的配置。 1 拷貝資料庫連線jar包mysql-connector-java-5.1.46到tomcat下的lib目錄。 2 此時solr_home下有collection1,複製collection1並從命名,假如命名為news。 3 開啟solr_home\news\conf目錄下的solrconfig.xml檔案,在前新增

<requestHandler name="/dataimport"
	   class="org.apache.solr.handler.dataimport.DataImportHandler">  
      <lst name="defaults"> 
             <str name="config">data-config.xml</str>   
       </lst>   
    </requestHandler>

4 在solr_home\news\conf下建立data-config.xml檔案,這檔案主要就是連線mysql資料,並設定匯入solr資料的語句,例子如下:

<?xml version="1.0" encoding="utf-8"?> 
<dataConfig>
     <!--資料來源 -->
    <dataSource  type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
	url="jdbc:mysql://localhost:3306/smbms" user="root" password="(填你的資料庫密碼)"/>      
	<document name="hotel_doc">
      <entity name="hotel"  pk="id"
	  query="select id,userName,address from smbms_user " 
	  
	  deltaImportQuery="select id,userName,address from smbms_user  where id='${dih.delta.id}'"
	  
	    deltaQuery="SELECT id as id  FROM  smbms_user where modifyDate > '${dih.last_index_time}'">
       <field name="id" column="id" />
       <field name="userName" column="userName" />
       <field name="address" column="address" />
     </entity>
   </document>
</dataConfig>

5 開啟solr_home\news\conf下的schema.xml,只保留 刪除檔案中所有其它的field. 6 在刪除所有 dynamicField標籤和 copyField標籤,在 下新增

<field name="id" type="int" indexed="true" stored="true"/> 
    <field name="userName" type="string" indexed="true" stored="true"/>
    <field name="address" type="string" indexed="true" stored="true"/>
    <field name="text" type="text_general" indexed="true" stored="false"
	   multiValued="true"/> 

其中 name=“id”, <field name=“userName”, <field name=“address”,根據自己連線資料庫的欄位自行配置。 這個標籤是固定不變的。 7 將solr-4.9.1\distsolr目錄下的dataimporthandler-extras-4.9.1.jar和solr-dataimporthandler-4.9.1.jar兩個jar包複製到 apache-tomcat-7.0.90\webapps\solr\WEB-INF\lib 下。

8 此時從起tomcat,在訪問solr,此時報紅,有Invalid Number: MA147LL/A錯誤,彆著急。 9 solr_home\news\conf下開啟elevate.xml檔案,將最後一段下面的程式碼註釋掉就ok了。

 <query text="ipod">
   <doc id="MA147LL/A" />  put the actual ipod at the top -->
   <doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
 </query>

10 重啟tomcat,在進入solr就正常了。進入如下操作,就將資料從mysql中匯入solr中。 在這裡插入圖片描述 11 非常完美的顯示資料,很棒。 在這裡插入圖片描述

看右邊就是從mysql中匯入的資料,至此solr第一步已經完成,第二步包括從solr獲取資料,和用分詞器進行查詢,將在下一節繼續介紹,絕點有用給點個贊,收藏一下,關注一下,謝謝。