在solrconfig.xml配置資料匯入用的requesthandler和資料匯入使用的jar包
dih-data-config.xml
配置檔案可以是絕對路徑、或相對集合
conf/
的相對路徑
'$'"
deltaimportquery="select * from t_product where prod_id ='$'" >
'$'"
deltaimportquery="select * from t_brand where id = '$'"
parentdeltaquery="select prod_id from t_product where brand_id = '$'">
'$'"
deltaimportquery="select * from t_prod_cat where id = '$'"
parentdeltaquery="select prod_id from t_product where brand_id = '$'">
'$'"
deltaimportquery="select * from t_cat where id = '$'"
parentdeltaquery="select prod_id,cat_id from t_prod_cat where cat_id = '$'">
下可包含乙個或多個資料實體
entity資料實體通用屬性說明
屬性名
描述
name (required)
標識實體的唯一名
processor
當資料來源是非rdbms 時,必須指定處理器。(預設是sqlentityprocessor)
transformer
要應用在該實體上的轉換器。
datasource
當配置了多個資料來源時,指定使用的資料來源的名字。
pk實體的主鍵列名。只有在增量匯入時才需要指定主鍵列名。和模式中的唯一鍵是兩個不同的東西
rootentity
預設document元素的子entity是rootentity,如果把rootentity屬性設為false值,則它的子會被作為rootentity(依次類推)。rootentity返回的每一行會建立乙個document。
onerror
(abort|skip|continue) . 當處理entity的行為document的過程中發生異常該如何處理:預設是 abort,放棄匯入。skip:跳過這個文件,continue:繼續索引該文件。
preimportdeletequery
在全量匯入前,如需要進行索引清理cleanup,可以通過此屬性指定乙個清理的索引刪除查詢,否則用的是『*:*』(刪除所有)。只有的直接子entity設定此屬性有效。
postimportdeletequery
指定全量匯入後需要進行索引清理的delete查詢。只有的直接子entity設定此屬性有效.
query (required)
從資料庫中載入實體資料用的sql語句。
deltaquery
僅用於增量匯入,指定增量資料pk的查詢sql。
parentdeltaquery
指定增量關聯父實體的pk的查詢sql。
deletedpkquery
僅用於增量匯入,被刪除實體的pk查詢sql。
deltaimportquery
(僅用於增量匯入) .指定增量匯入實體資料的查詢sql。如果沒有指定該查詢語句,solr將使用query屬性指定的語句,經修改後來查詢載入增量資料(這很容易出錯)。在該語句中往往需要引用deltaquery查詢結果的列值,通過 $ 來引用,如:select * from tbl where id=$
最後拷貝
mysql
的驅動jar
包到solr的
配置完成。
在solr 的頁面的dataimport 中進行配置即可。
Solr匯入MySQL中的資料
將mysql資料庫中的資料匯入至solr中,並且由solr生成中文索引,使用solr查詢資訊。一共三個jar。2 修改 solr 8.2.0 server solr articles solrconfig.xml,在之上新增如下 class org.apache.solr.handler.datai...
solr4 mysql資料庫匯入資料
要建立自己的全文檢索,一般都需要從資料庫匯入資料,在原來配置的基礎上,增加匯入的功能,這裡以mysql為例子 1 e softwares green tomcat6 solr solr collection1 conf solrconfig.xml中增加 data config.xml 2 增加e ...
solr系列二 solr匯入資料庫資料
2.找到d solr home catalog conf schema.xml來配置solr和資料庫的對應字段。uniquekey是文件的唯一標識,必須標識對應的字段,否則solr建立索引報錯。此處的field的name屬性最好和資料庫的字段保持一致,這樣我們可以減少一些對映配置。具體配置如下 ca...