solr_4.5.0_07:從資料庫向 solr 中新增索引
阿新 • • 發佈:2019-01-23
今天,我們來講一下 solr 網頁管理中 Dataimport 的使用。
一、首先我們需要在 D:\zsolrwork\solr\server\webapps\solr\WEB-INF\lib 目錄下新增 solr-dataimporthandler-4.5.0.jar、solr-dataimporthandler-extras-4.5.0.jar 和 相應資料庫的連線 jar 包。
二、修改 D:\zsolrwork\solr\home\mycor2\conf 目錄下的 schema.xml 和 solrconfig.xml 檔案,並新增 data-config.xml 檔案。
1、solrconfig.xml 檔案中新增如下程式碼:(在 <config></config> 中)
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
2、新增 data-config.xml 檔案
1)dataSource 資料來源,一個配置檔案可以有多個數據源,通過 name 來唯一標識<dataConfig> <dataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:test" user="scott" password="tiger"/> <document> <entity name="movie" query="select * from movie" > <field column="id"/> <field column="actors" name="actors"/> <field column="director" name="director"/> </entity> </document> </dataConfig>
driver:驅動名稱
url:資料庫連線地址
user:資料庫使用者名稱
password:使用者密碼
2)document:索引文件
3)entity:實體對應資料庫中的表和檢視。一個 document 中可以有多個 entity。 entity 中也可以巢狀子實體。在這裡只做最簡單的例子,更多的屬性配置可以檢視
field : column 代表資料庫的欄位名稱<dataConfig> <dataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:test" user="scott" password="tiger"/> <document> <entity name="movie" query="select * from movie" > <field column="id"/> <field column="actors" name="actors"/> <field column="director" name="director"/> </entity> </document> </dataConfig>
field:name 代表索引資料庫中的欄位名稱
4)注意上面 xml 檔案中 field 的 name 屬性必須在 schema.xml 檔案中有相應的配置才行。所以在 schema.xml 檔案中新增 actors 和 director 配置:
<field name="actors" type="string" indexed="true" stored="true"/>
<field name="director" type="string" indexed="true" stored="true"/>
三、在 solr 頁面中使用 Dataimport 功能四、補充: