如何使用Solr索引MySql數據庫?

前面的文章介紹了在tomcat部署solr4.10、solr4.10集成ik analyzer分詞器,現在介紹如何通過配置solr實現對mysql數據庫數據的索引,從而實現對mysql數據庫的查詢。

首先要下載連接MySQL需要的jar包,我下載的是:mysql-connector-java-5.1.26-bin.jar。

1.假設MySQL數據庫有關數據庫、表、字段定義等工作已經提前完成。這里介紹我這個測試用例所用的數據庫情況:數據庫和表名均為crawler,用戶名root,密碼admin。這里就不把sql語句列出來了,反正是測試。另外,因為Solr的解壓路徑以及Solr_HOME的路徑每個人都是不一樣的,所以以后關于Solr_HOME的路徑,我都用$SOLR_HOME表示。

如何使用Solr索引MySql數據庫?

2.使用DataImportHandler導入并索引數據

配置$SOLR_HOMEcollection1confsolrconfig.xml

前面上加上一個dataimport的處理的Handler,如圖示:

其中,data-config.xml文件用于定義solr和MySQL的映射關系,這里使用的而是相對路徑,即跟solrconfig.xml處于同一目錄。因此要在$SOLR_HOMEcollection1conf目錄下創建data-config.xml文件

如何使用Solr索引MySql數據庫?

3.通過data-config.xml完成Solr與MySQL數據庫的映射,data-config.xml文件內容如圖所示:

如何使用Solr索引MySql數據庫?


4.修改schema.xml文件,因為這個文件是我們從壓縮包中復制過來的,里面包括很多多余的數據,在這里我們只需要在該文件中定義與MySQL數據庫表中相關的Field,去掉不相關的Field即可,但需要注意,有些Field還是需要保留的,如:_version_和text 這兩個field要保留,其他的Field、CopyField刪除即可:如圖示。

上圖中,我id的定義為int型,Solr中索引的主鍵默認是只支持type=”string”字符串類型的。解決方法:修改同目錄下的elevate.xml,注釋掉下面2行。

如何使用Solr索引MySql數據庫?

如何使用Solr索引MySql數據庫?

5.將mysql-connector-java-5.1.26-bin.jar和solr-4.10.3distsolr-dataimporthandler-4.10.3.jar復制到 D:Solrsolr-4.10.3examplesolr-webappwebappWEB-INFlib中。


6.開啟tomcat進入Solr的Admin UI界面,在Core Selector中選擇collection1,選擇dataImport子菜單,如圖所示。

完成設置后,點擊Execute執行。

如何使用Solr索引MySql數據庫?

7.查詢測試在core selector下方的子菜單中選擇Query,在q框中輸入content:習近平,點擊下方俺就,就會得到查詢結果


? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享