怎么使用Solr索引MySql數據庫?
發表時間:2023-07-24 來源:明輝站整理相關軟件相關文章人氣:
[摘要]前面的文章介紹了在tomcat部署solr4.10、solr4.10集成IK analyzer分詞器,現在介紹如何通過配置solr實現對MySQL數據庫數據的索引,從而實現對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表示。

2.使用DataImportHandler導入并索引數據
配置$SOLR_HOME\collection1\conf\solrconfig.xml
在<requestHandler name="/select" class="solr.SearchHandler">前面上加上一個dataimport的處理的Handler,如圖示:
其中,data-config.xml文件用于定義solr和MySQL的映射關系,這里使用的而是相對路徑,即跟solrconfig.xml處于同一目錄。因此要在$SOLR_HOME\collection1\conf目錄下創建data-config.xml文件

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

4.修改schema.xml文件,因為這個文件是我們從壓縮包中復制過來的,里面包括很多多余的數據,在這里我們只需要在該文件中定義與MySQL數據庫表中相關的Field,去掉不相關的Field即可,但需要注意,有些Field還是需要保留的,如:_version_和text 這兩個field要保留,其他的Field、CopyField刪除即可:如圖示。
上圖中,我id的定義為int型,Solr中索引的主鍵默認是只支持type="string"字符串類型的。解決方法:修改同目錄下的elevate.xml,注釋掉下面2行。


5.將mysql-connector-java-5.1.26-bin.jar和solr-4.10.3\dist\solr-dataimporthandler-4.10.3.jar復制到 D:\Solr\solr-4.10.3\example\solr-webapp\webapp\WEB-INF\lib中。
6.開啟tomcat進入Solr的Admin UI界面,在Core Selector中選擇collection1,選擇dataImport子菜單,如圖所示。
完成設置后,點擊Execute執行。

7.查詢測試在core selector下方的子菜單中選擇Query,在q框中輸入content:習近平,點擊下方俺就,就會得到查詢結果
以上就是如何使用Solr索引MySql數據庫?的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。