更新索引策略之一(非繁忙時刻更新)

2021-09-01 03:44:02 字數 1231 閱讀 5026

半夜更新:也可以叫做非繁忙時段更新。

思路:從上次遍歷的最後一條開始.我們需要儲存乙個資料庫中的id,也就是每次遍歷後的最大id,以方便下次遍歷的時候從這個id開始,判斷只去比這個id大的記錄進行更新索引。

1.建立乙個txt檔案

2.第一次遍歷,將遍歷後的最大id存入txt檔案

3.以後每次遍歷,從txt檔案中取出id,並在遍歷資料庫結束後更新最大id.

4.定製任務,要求每天凌晨2點執行此程式.

定製任務的方式

1.開啟乙個網頁,網頁中有一段js**,判斷時間如果是凌晨2點那麼將頁面跳轉到我們的action路徑,從而啟動任務。

2.spring提供的quartz來進行任務定製

**如下:

0/5 * * * * ?

org.quartz.scheduler.instancename = testscheduler

org.quartz.scheduler.instanceid = auto

public class createindex

public void dojob()throws exception

public void createindex() throws exception

list list = articlemanager.articlelist(integer.parseint(articleid));

for (iterator it = list.iterator(); it.hasnext();)

writer.optimize();

writer.close();

//最後一篇文章的id寫入txt檔案

this.writertext(articleid); }

//從txt檔案中讀入id

public string readtext()

} catch (exception e) finally catch (ioexception e)

}} return content;

}//向txt檔案中寫入id

public void writertext(string articleid) catch (exception e) finally catch (ioexception e)

}} }

mysql死鎖 非主鍵索引更新引起的死鎖

背景 最近線上經常丟擲mysql的乙個deadlock,細細查來,長了知識!分析 錯誤日誌如下 21 02 02.563 error dao.commondao pool 15 thread 19 jbc.trade.qunar.com 703c9ddbe4b143609035365ca46bff3...

為什麼商業搜尋引擎選擇的索引更新策略是完全重建策略

這種重建策略比較適合小文件集合,因為完全重建索引的代價較高,但是目前主流商業搜尋引擎一般是採用此種方式來維護索引的更新,這與網際網路本身的特性有關。目前索引更新策略有四種 完全重建策略 再合併策略 原地更新策略 混合策略 如果希望了解這4種索引更新策略可以去看 這就是搜尋引擎 核心技術詳解 作者的部...

搜尋引擎原理(一)之網頁抓取與更新

1.有哪些網頁檢索維護的方法 主要有寬度 廣度 優先,兼顧深度的遍歷策略 不重複抓取策略 大站優先策略 非完全pagerank策略 ocip策略 合作抓取策略等主流的網頁抓取策略。詳細內容請參考 搜尋引擎爬蟲網頁抓取策略 2.網頁更新策略方法有哪些?2 使用者體驗策略 一般來說,搜尋引擎將處理的結果...