眾所周(zhōu)知(zhī),搜(sōu)索引擎(qíng)的(dí)主要工作過(guò)程包括:抓(zhuā)取,存儲(chǔ),頁麵分析(xī),索引,檢索(suǒ)等(děng)幾(jī)個(gè)主要過程(chéng)。過去幾(jī)周給大家介(jiè)紹了抓(zhuā)取相關的(dí)簡要過程(chéng)。今(jīn)天(tiān)簡(jiǎn)要介紹(shào)一(yī)下索引係統,以(yǐ)億(yì)為單(dān)位的網(wǎng)頁庫(kù)中(zhōng)查找特(tè)定的某些(xiē)關(guān)鍵(jiàn)詞(cí)猶(yóu)如大(dà)海裏麵撈(lāo)針(zhēn),也(yě)許(xǔ)一(yī)定(dìng)的(dí)時間(jiān)內可以(yǐ)完成查找,但(dàn)是用(yòng)戶等(děng)不(bù)起(qǐ),從用戶體驗角(jiǎo)度我(wǒ)們(mén)必須在毫秒級別給(gěi)予用戶滿(mǎn)意(yì)的結(jié)果(guǒ),否則(zé)用(yòng)戶(hù)隻能流失。怎樣才能達到這種要(yào)求(qiú)呢?
如果(guǒ)能(néng)知(zhī)道用戶(hù)查找的關鍵(jiàn)詞(cí)(query切詞(cí)後)都出現在哪些(xiē)頁麵中,那麼用戶(hù)檢索的(dí)處(chǔ)理過程即可以想象為包含(hán)了(liǎo)query中(zhōng)切詞(cí)後不(bù)同(tóng)部(bù)分的頁(yè)麵集(jí)合(hé)求交的過程(chéng),而檢(jiǎn)索即(jí)變成了頁麵名稱之(zhī)間的(dí)比較,求交。這(zhè)樣(yàng),在毫(háo)秒(miǎo)內(nèi)以(yǐ)億為單位的檢索成為了可(kě)能(néng)。這就是通(tōng)常所說(shuō)的(dí)倒排索引及求交檢(jiǎn)索(suǒ)的過程。如下(xià)為建立倒排索引的基本過程:
(1)頁麵分析(xī)的過(guò)程實際上是將(jiāng)原始(shǐ)頁麵(miàn)的不(bù)同(tóng)部(bù)分(fēn)進行(háng)識(shí)別並(bìng)標記(jì),例(lì)如:title,keywords,content,link,anchor,評論(lùn),其他(tā)非重要(yào)區域等等(děng);
(2)分詞的過程實(shí)際上包(bāo)括(kuò)了切詞(cí)分詞(cí)同(tóng)義詞(cí)轉換(huàn)同(tóng)義詞替換等等,以(yǐ)對某頁麵title分詞(cí)為例(lì),得(dé)到的將(jiāng)是(shì)這(zhè)樣的數據(jù):term文(wén)本,termid,詞類(lèi),詞(cí)性等(děng)等;
(3)之前的(dí)準備(bèi)工作完(wán)成(chéng)後(hòu),接(jiē)下(xià)來即(jí)是建(jiàn)立倒(dǎo)排索引,形(xíng)成{termàdoc},可以粗略(lüè)的理(lǐ)解(jiě)為如(rú)下,為什麼是【term->doc】,而不是(shì)直(zhí)接應用【doc->term】呢(ní)?
上述(shù)即是索(suǒ)引係統(tǒng)中(zhōng)的倒排索(suǒ)引過(guò)程,是搜(sōu)索引擎(qíng)實(shí)現毫秒級(jí)檢(jiǎn)索非常重要的一個環節。
轉載請保留(liú)原文(wén)地址(zhǐ): https://antelcom.cn/show-541.html

