Elasticsearch之倒排索引

在介紹Elasticsearch的倒排索引之前我們先了解一下什么是正排索引禾进。

  • 正排索引
    正排索引就是文檔id到文檔內容硬鞍、單詞的關聯(lián)關系呼奢,如下表中id與文檔內容的關聯(lián)關系化戳。
文檔ID 文檔內容
1 elasticsearch是最流行的搜索引擎
2 php是世界上最好的語言
3 搜索引擎是如何誕生的

那么下面我們介紹一下倒排索引

  • 倒排索引
    單詞到文檔id的關聯(lián)關系
單詞 文檔ID列表
elasticsearch 1
流行 1
搜索引擎 1单料,3
php 2
世界 2
最好 2
語言 2
如何 3
誕生 3

倒排索引的查詢流程埋凯,例如查詢包含 “搜索引擎” 對應的文檔,首先通過倒排索引獲得 “搜索引擎” 對應的文檔Id有1和3扫尖,通過正排索引查詢1和3的完整內容白对,返回用戶最終的結果。

倒排索引的組成

倒排索引是搜索引擎的核心换怖,主要包含兩部分:單詞詞典(Term Dictionary)倒排列表(Posting List)

  • 單詞詞典(Term Dictionary)
  1. 記錄所有文檔的單詞甩恼,一般都比較大
  2. 記錄單詞到倒排列表的關聯(lián)信息
  • 倒排列表(Posting List)
    倒排列表記錄了單詞的對應的文檔集合,由倒排索引項(Posting)組成沉颂,倒排索引項主要信息包含如下:
  1. 文檔ID条摸,用于獲取原始信息
  2. 單詞頻率(TF, Term Frequency), 記錄該單詞在該文檔中出現(xiàn)的次數(shù),用于后續(xù)的相關性算分
  3. 位置(Position), 記錄單詞在文檔中的分詞位置(多個),用于做詞語搜索(Phrase Query)
  4. 偏移(Offset),記錄單詞在文檔的開始和結束位置铸屉,用于做高亮顯示

下面以 “搜索引擎” 為例我們看一下它是如何構建posting list的
倒排索引-倒排列表

單詞詞典與倒排列表整合在一起的結構如下:
倒排索引
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末钉蒲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子彻坛,更是在濱河造成了極大的恐慌顷啼,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昌屉,死亡現(xiàn)場離奇詭異钙蒙,居然都是意外死亡,警方通過查閱死者的電腦和手機间驮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門躬厌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蜻牢,你說我怎么就攤上這事烤咧。” “怎么了抢呆?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵煮嫌,是天一觀的道長。 經(jīng)常有香客問我抱虐,道長昌阿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任恳邀,我火速辦了婚禮懦冰,結果婚禮上,老公的妹妹穿的比我還像新娘谣沸。我一直安慰自己刷钢,他們只是感情好,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布乳附。 她就那樣靜靜地躺著内地,像睡著了一般伴澄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阱缓,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天非凌,我揣著相機與錄音,去河邊找鬼荆针。 笑死敞嗡,一個胖子當著我的面吹牛,可吹牛的內容都是我干的航背。 我是一名探鬼主播喉悴,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沃粗!你這毒婦竟也來了粥惧?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤最盅,失蹤者是張志新(化名)和其女友劉穎突雪,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涡贱,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡咏删,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了问词。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片督函。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖激挪,靈堂內的尸體忽然破棺而出辰狡,到底是詐尸還是另有隱情,我是刑警寧澤垄分,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布宛篇,位于F島的核電站,受9級特大地震影響薄湿,放射性物質發(fā)生泄漏叫倍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一豺瘤、第九天 我趴在偏房一處隱蔽的房頂上張望吆倦。 院中可真熱鬧,春花似錦坐求、人聲如沸蚕泽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赛糟。三九已至派任,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間璧南,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工师逸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留司倚,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓篓像,卻偏偏與公主長得像动知,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子员辩,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內容

  • 正排索引 文檔ID到文檔內容盒粮、單詞的關聯(lián)關系。比如書的目錄頁對應正排索引(指明章節(jié)名稱奠滑,指明頁數(shù))用于查看章節(jié)丹皱。 ...
    小波同學閱讀 473評論 0 3
  • 正排索引 文檔ID到文檔內容、單詞的關聯(lián)關系宋税。比如書的目錄頁對應正排索引(指明章節(jié)名稱摊崭,指明頁數(shù))用于查看章節(jié) 倒...
    小波同學閱讀 834評論 0 2
  • [toc] 為什么需要倒排索引 倒排索引也是索引。索引初衷都是為了快速檢索到你要的數(shù)據(jù)杰赛。 每種數(shù)據(jù)庫有自己需要解決...
    星空怎樣閱讀 1,347評論 0 1
  • 夜鶯2517閱讀 127,719評論 1 9
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月呢簸,有人笑有人哭,有人歡樂有人憂愁乏屯,有人驚喜有人失落根时,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,535評論 28 53