倒排索引

倒排索引

倒排索引中有兩個(gè)非常重要的概念:

  • 文檔(Document):用來搜索的數(shù)據(jù)悯舟,其中的每一條數(shù)據(jù)就是一個(gè)文檔。例如一個(gè)網(wǎng)頁砸民、一個(gè)商品信息
  • 詞條(Term):對文檔數(shù)據(jù)或用戶搜索數(shù)據(jù)抵怎,利用某種算法分詞,得到的具備含義的詞語就是詞條岭参。例如:我是中國人反惕,就可以分為:我、是演侯、中國人姿染、中國、國人這樣的幾個(gè)詞條

創(chuàng)建倒排索引是對正向索引的一種特殊處理蚌本,流程如下:

  • 將每一個(gè)文檔的數(shù)據(jù)利用算法分詞盔粹,得到一個(gè)個(gè)詞條
  • 創(chuàng)建表,每行數(shù)據(jù)包括詞條程癌、詞條所在文檔id舷嗡、位置等信息
  • 因?yàn)樵~條唯一性,可以給詞條創(chuàng)建索引嵌莉,例如hash表結(jié)構(gòu)索引

如圖:


image-20210720200457207.png

倒排索引的搜索流程如下(以搜索"華為手機(jī)"為例):

1)用戶輸入條件"華為手機(jī)"進(jìn)行搜索进萄。

2)對用戶輸入內(nèi)容分詞,得到詞條:華為手機(jī)中鼠。

3)拿著詞條在倒排索引中查找可婶,可以得到包含詞條的文檔id:1、2援雇、3矛渴。

4)拿著文檔id到正向索引中查找具體文檔。

如圖:

image-20210720201115192.png

雖然要先查詢倒排索引惫搏,再查詢倒排索引具温,但是無論是詞條、還是文檔id都建立了索引筐赔,查詢速度非诚承桑快!無需全表掃描茴丰。

正向和倒排

那么為什么一個(gè)叫做正向索引达皿,一個(gè)叫做倒排索引呢?

  • 正向索引是最傳統(tǒng)的贿肩,根據(jù)id索引的方式峦椰。但根據(jù)詞條查詢時(shí),必須先逐條獲取每個(gè)文檔尸曼,然后判斷文檔中是否包含所需要的詞條们何,是根據(jù)文檔找詞條的過程萄焦。

  • 倒排索引則相反控轿,是先找到用戶要搜索的詞條,根據(jù)詞條得到保護(hù)詞條的文檔的id拂封,然后根據(jù)id獲取文檔茬射。是根據(jù)詞條找文檔的過程

是不是恰好反過來了冒签?

那么兩者方式的優(yōu)缺點(diǎn)是什么呢在抛?

正向索引

  • 優(yōu)點(diǎn):
    • 可以給多個(gè)字段創(chuàng)建索引
    • 根據(jù)索引字段搜索、排序速度非诚羲。快
  • 缺點(diǎn):
    • 根據(jù)非索引字段刚梭,或者索引字段中的部分詞條查找時(shí),只能全表掃描票唆。

倒排索引

  • 優(yōu)點(diǎn):
    • 根據(jù)詞條搜索朴读、模糊搜索時(shí),速度非匙咔鳎快
  • 缺點(diǎn):
    • 只能給詞條創(chuàng)建索引衅金,而不是字段
    • 無法根據(jù)字段做排序
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子氮唯,更是在濱河造成了極大的恐慌鉴吹,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惩琉,死亡現(xiàn)場離奇詭異豆励,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瞒渠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門肆糕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人在孝,你說我怎么就攤上這事诚啃。” “怎么了私沮?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵始赎,是天一觀的道長。 經(jīng)常有香客問我仔燕,道長造垛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任晰搀,我火速辦了婚禮五辽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘外恕。我一直安慰自己杆逗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布鳞疲。 她就那樣靜靜地躺著罪郊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尚洽。 梳的紋絲不亂的頭發(fā)上悔橄,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音腺毫,去河邊找鬼癣疟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛潮酒,可吹牛的內(nèi)容都是我干的睛挚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼澈灼,長吁一口氣:“原來是場噩夢啊……” “哼竞川!你這毒婦竟也來了店溢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤委乌,失蹤者是張志新(化名)和其女友劉穎床牧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遭贸,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡戈咳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壕吹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片著蛙。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖耳贬,靈堂內(nèi)的尸體忽然破棺而出踏堡,到底是詐尸還是另有隱情,我是刑警寧澤咒劲,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布顷蟆,位于F島的核電站,受9級特大地震影響腐魂,放射性物質(zhì)發(fā)生泄漏帐偎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一蛔屹、第九天 我趴在偏房一處隱蔽的房頂上張望削樊。 院中可真熱鬧,春花似錦兔毒、人聲如沸漫贞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绕辖。三九已至摇肌,卻和暖如春擂红,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背围小。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工昵骤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肯适。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓变秦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親框舔。 傳聞我的和親對象是個(gè)殘疾皇子蹦玫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容