solr的全量更新與增量更新分析

2021-10-23 21:09:52 字數 3445 閱讀 5360

二、solr的增量更新

solr是apache門下的一款企業級的,快速的和高度可擴充套件的開源搜尋平台,用於構建搜尋應用程式。 它建立在lucene(全文搜尋引擎)之上, 使用solr構建的應用程式非常複雜,可提供高效能。它不僅限於搜尋,solr也可以用於儲存目的。像其他nosql資料庫一樣,它是一種非關係資料儲存和處理技術。

<

!--新增如下配置 增加resulthandler配置 --

>

"/dataimport"

class

="org.apache.solr.handler.dataimport.dataimporthandler"

>

"defaults"

>

"config"

>data-config.xml<

/str>

<

/lst>

<

/requesthandler>

"jdbcdatasource" driver=

"com.mysql.jdbc.driver"

url=

"jdbc:mysql:"

user=

"root"

password=

"111111"

/>

"protest" query="

select

p.id,

p.name,

price,

p.merchant_id merchantid,

m.name merchantname

from

product p

inner join merchant m on p.merchant_id = m.id;"

deltaquery="

select

p.id,

p.name,

price,

p.merchant_id merchantid,

m.name merchantname

from

product p

inner join merchant m on p.merchant_id = m.id;">

<

!--查詢的資料和資料庫索引意義對應column 是查詢的字段name 是solr索引對應的字段--

a.資料庫建表事項 :

如果只涉及新增,與修改業務,那麼資料庫裡只需額外有乙個timpstamp欄位就可以了,預設值為當前系統時間,current_timestamp

如果還涉及刪除業務,那麼資料裡就需額外再多新增乙個欄位isdelete,int型別的用0,1來標識,此條記錄是否被刪除

b.dataimporter.properties檔案:

這個配置檔案很重要,它是用來記錄當前時間與上一次修改時間的,通過它能夠找出,那些,新新增的,修改的,或刪除的記錄標識,此條記錄是否被刪除的記錄

c.data-config.xml檔案:

1. transformer 格式轉化:htmlstriptransformer 索引中忽略html標籤

2. query:查詢資料庫表符合記錄資料

3. deltaquery:增量索引查詢主鍵id(注意這個只能返回id欄位)

4. deltaimportquery:增量索引查詢匯入資料

5. deletedpkquery:增量索引刪除主鍵id查詢 (注意這個只能返回id欄位)

data-config.xml檔案 :

<

?xml version=

"1.0" encoding=

"utf-8"

?>

<

!--資料來源--

>

"jdbcdatasource"

driver=

"com.mysql.jdbc.driver"

url=

"jdbc:mysql:///xiang"

user=

"root"

password=

"root"

/>

"solrtest"

query=

"select fid,ftime,fcontent,ftitle,flastupdatetime from solrtest where flag = '0'"

deltaimportquery =

"select fid,ftime,fcontent,ftitle,flastupdatetime from solrtest where fid = '$'"

deltaquery =

"select fid from solrtest where flastupdatetime > '$' and flag = '0'"

deletedpkquery =

"select fid from solrtest where flag = '1'"

>

<

!--查詢的資料和資料庫索引意義對應column 是查詢的字段name 是solr索引對應的字段--

>

"fid" name=

"fid"

/>

"ftitle" name=

"ftitle"

/>

"fcontent" name=

"fcontent"

/>

"flastupdatetime" name=

"flastupdatetime"

/>

"ftime" name=

"ftime"

/>

<

/entity>

<

/document>

<

/dataconfig>

最後進入你的客戶端進行更

solr的全量更新和增量更新

1.solr 的全量更新 1.core conf 目錄下的 solrconfig.xml,新增如下配置 data config.xml 2 在core conf 目錄下的新建 data config.xml 檔案,新增如下配置 3.修改core conf 目錄下 managed schema.xml...

solr全量更新與變數更新

資料如果保留多份,就會存在一致性問題,就需要同步,同步分為兩大類 全量更新和增量更新。例如 資料庫中的資料匯入solr快取中就是更新。下圖便是全量更新 增量的基礎是全量,就是你要使用某種方式先把全量資料拷貝過來,然後再採用增量方式同步更新。增量的話,就是指抓取某個時刻 更新時間 或者檢查點 chec...

sorl增量更新和全量更新粗略配置

全量更新 1.在sorlconfig.xml配置data config.xml dataimport class solr.dataimporthandler defaults config data config.xml str lst requesthandler 2.new code conf...