1、原理:
a.solr每次更新索引會記錄最後索引時間。(檔案:dataimport.properties )
b.根據最後索引時間匹配出資料庫在此時間之後產生的資料的id。
c.根據id構建該條資料索引。
2、data-config.xml引數說明query:為全量索引執行的sql
deltaquery:增量索引時匹配出需要索引的id
deltaimportquery:增量索引時根據id查詢的sql語句(和deltaquery配合使用)
示例如下:
<?xml version="1.0" encoding="utf-8"?>
unix_timestamp('$')*1000"
deltaimportquery="select a.id,a.title,ac.content,u.email from article a left join `user` u
on (u.id=a.user_id) left join article_content ac on (ac.article_id=a.id)
where a.id = '$'">
注:
$為solr系統變數(最後索引時間)
$未增量索引id引數
3、定時更新增量索引(crontab實現)
所以使用crontab實現,只因配置簡單
crontab -e
*/5 * * * * curl http://localhost:9001/solr/dataimport?command=delta-import
注:5分鐘執行一次增量索引(可根據實際業務調整時間) Solr 定時增量索引
solr的定時增量更新需要開啟solr的dataimporter功能,過程略 配置solr連線資料庫的字段配置 deletedpkquery select nid from poibaseinfo where statue 0 deltaimportquery select from poibase...
Solr增量更新索引
在配置好與mysql的資料來源基礎上,做增量更新索引,總結如下 1.data config.xml內容修改為 2.通過訪問 http localhost 8080 solr dataimport?command delta import實現增量更新 更新成功之後,conf dataimport.pr...
solr學習四solr定時增量更新
1 將 apache solr dataimportscheduler 1.0.jar 和solr自帶的 apache solr dataimporthandler jar,apache solr dataimporthandler extras jar 放到solr的lib目錄下面 2 修改sol...