搜索引擎

搜索引擎是對數(shù)據(jù)的檢索,所以我們先從生活中的數(shù)據(jù)說起。我們生活中的數(shù)據(jù)總體分為兩種:

結(jié)構(gòu)化數(shù)據(jù)

非結(jié)構(gòu)化數(shù)據(jù)

結(jié)構(gòu)化數(shù)據(jù): 也稱作行數(shù)據(jù),是由二維表結(jié)構(gòu)來邏輯表達(dá)和實現(xiàn)的數(shù)據(jù),嚴(yán)格地遵循數(shù)據(jù)格式與長度規(guī)范,主要通過關(guān)系型數(shù)據(jù)庫進(jìn)行存儲和管理。指具有固定格式或有限長度的數(shù)據(jù),如數(shù)據(jù)庫,元數(shù)據(jù)等。

非結(jié)構(gòu)化數(shù)據(jù): 又可稱為全文數(shù)據(jù),不定長或無固定格式,不適于由數(shù)據(jù)庫二維表來表現(xiàn),包括所有格式的辦公文檔、XML、HTML、Word 文檔,郵件,各類報表、圖片和咅頻、視頻信息等。

說明:如果要更細(xì)致的區(qū)分的話,XML、HTML 可劃分為半結(jié)構(gòu)化數(shù)據(jù)。因為它們也具有自己特定的標(biāo)簽格式,所以既可以根據(jù)需要按結(jié)構(gòu)化數(shù)據(jù)來處理,也可抽取出純文本按非結(jié)構(gòu)化數(shù)據(jù)來處理。

根據(jù)兩種數(shù)據(jù)分類,搜索也相應(yīng)的分為兩種:

結(jié)構(gòu)化數(shù)據(jù)搜索

非結(jié)構(gòu)化數(shù)據(jù)搜索

對于結(jié)構(gòu)化數(shù)據(jù),因為它們具有特定的結(jié)構(gòu),所以我們一般都是可以通過關(guān)系型數(shù)據(jù)庫(MySQL,Oracle 等)的二維表(Table)的方式存儲和搜索,也可以建立索引。

對于非結(jié)構(gòu)化數(shù)據(jù),也即對全文數(shù)據(jù)的搜索主要有兩種方法:

順序掃描

全文檢索

順序掃描: 通過文字名稱也可了解到它的大概搜索方式,即按照順序掃描的方式查詢特定的關(guān)鍵字。

例如給你一張報紙,讓你找到該報紙中“平安”的文字在哪些地方出現(xiàn)過。你肯定需要從頭到尾把報紙閱讀掃描一遍然后標(biāo)記出關(guān)鍵字在哪些版塊出現(xiàn)過以及它的出現(xiàn)位置。

這種方式無疑是最耗時的最低效的,如果報紙排版字體小,而且版塊較多甚至有多份報紙,等你掃描完你的眼睛也差不多了。

全文搜索: 對非結(jié)構(gòu)化數(shù)據(jù)順序掃描很慢,我們是否可以進(jìn)行優(yōu)化?把我們的非結(jié)構(gòu)化數(shù)據(jù)想辦法弄得有一定結(jié)構(gòu)不就行了嗎?

將非結(jié)構(gòu)化數(shù)據(jù)中的一部分信息提取出來,重新組織,使其變得有一定結(jié)構(gòu),然后對此有一定結(jié)構(gòu)的數(shù)據(jù)進(jìn)行搜索,從而達(dá)到搜索相對較快的目的。

這種方式就構(gòu)成了全文檢索的基本思路。這部分從非結(jié)構(gòu)化數(shù)據(jù)中提取出的然后重新組織的信息,我們稱之為索引。

這種方式的主要工作量在前期索引的創(chuàng)建,但是對于后期搜索卻是快速高效的。

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

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

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