動(dòng)態(tài)索引

動(dòng)態(tài)索引示意圖:

動(dòng)態(tài)索引

在如上圖的動(dòng)態(tài)索引中,有三個(gè)關(guān)鍵的索引結(jié)構(gòu):倒排索引臨時(shí)索引已刪除文檔列表。
  倒排索引:就是對(duì)初始文檔集合建立好的索引結(jié)構(gòu),一般單詞詞典存儲(chǔ)在內(nèi)存中,對(duì)應(yīng)的倒排列表存儲(chǔ)在磁盤文件中。
  臨時(shí)索引:在內(nèi)存中實(shí)時(shí)建立的倒排索引,其結(jié)構(gòu)和倒排索引時(shí)一樣的。當(dāng)有新文檔進(jìn)入系統(tǒng)時(shí),實(shí)時(shí)解析文檔并將其追加進(jìn)這個(gè)臨時(shí)索引結(jié)構(gòu)中。
  已刪除文檔列表:用來存儲(chǔ)已被刪除的文檔的相應(yīng)文檔ID,形成一個(gè)文檔ID列表。當(dāng)一篇文檔內(nèi)容被更改,可以認(rèn)為是舊文檔先被刪除,之后向系統(tǒng)內(nèi)增加一篇新的文檔。

實(shí)現(xiàn)過程

當(dāng)系統(tǒng)發(fā)現(xiàn)有新文檔進(jìn)入時(shí),立即將其加入臨時(shí)索引中。有文檔被刪除時(shí),則將其加入刪除文檔隊(duì)列。文檔被更改時(shí),則將舊文檔加入刪除隊(duì)列,解析更新后的文檔內(nèi)容,并將其加入臨時(shí)索引中。通過這種方式滿足實(shí)時(shí)性的要求。
  如果用戶輸入查詢請(qǐng)求,則搜索引擎同時(shí)從倒排索引和臨時(shí)索引中讀取用戶查詢單詞的倒排列表,找到包含用戶查詢的文檔集合,并對(duì)兩個(gè)結(jié)果進(jìn)行合并,之后利用刪除文檔列表進(jìn)行過濾,將搜索結(jié)果中那些已經(jīng)被刪除的文檔從結(jié)果中過濾,形成最終的搜索結(jié)果,并返回給用戶。這樣就能夠?qū)崿F(xiàn)動(dòng)態(tài)環(huán)境下的準(zhǔn)實(shí)時(shí)搜索功能。

問題:如果搜索的結(jié)果中包含已修改的文檔,是不是會(huì)因?yàn)槠湓趧h除文檔列表中而將其過濾掉。
  
參考文獻(xiàn):
[1] 張俊林. 這就是搜索引擎[M]. 電子工業(yè)出版社, 2012.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 動(dòng)態(tài)索引通過在內(nèi)存中維護(hù)臨時(shí)索引,實(shí)現(xiàn)對(duì)動(dòng)態(tài)文檔的實(shí)時(shí)搜索功能。而隨著新加入文檔對(duì)內(nèi)存漸趨待盡的消耗,就需要我們找...
    橘色對(duì)白閱讀 1,414評(píng)論 0 3
  • 這個(gè)系列的第六個(gè)主題,主要談一些搜索引擎相關(guān)的常見技術(shù)。 1995年是搜索引擎商業(yè)公司發(fā)展的重要起點(diǎn),《淺談推薦系...
    我偏笑_NSNirvana閱讀 6,890評(píng)論 3 24
  • Solr&ElasticSearch原理及應(yīng)用 一、綜述 搜索 http://baike.baidu.com/it...
    樓外樓V閱讀 7,660評(píng)論 1 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評(píng)論 19 139
  • 這終究是一場(chǎng)癡人說夢(mèng)!總是害怕韶關(guān)易逝,終日無為,閑不了累不起,礙著自由,宛如豌豆公主幾十床被下仍然感應(yīng)的...
    野派閱讀 357評(píng)論 0 0

友情鏈接更多精彩內(nèi)容