solr增量更新索引及定時觸發索引任務

2021-08-28 04:27:16 字數 893 閱讀 8086

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...