成人极品影院_久久综合亚洲色hezyo国_www.在线视频_奇米777四色精品综合影院_土壤污染状况调查_人人草人人插

新聞動態(tài)
簽約信息
公司信息
行業(yè)資訊

搜索引擎背后的重要結構你都知道嗎?

 發(fā)布時間:2018-09-17     瀏覽次數(shù):2.7k     作者:斑驢互聯(lián)

       大數(shù)據(jù)時代,信息量巨增,通過搜索引擎查找所需信息已是人們?nèi)粘9ぷ?、生活當中常態(tài)。網(wǎng)站建設的目的主要是起到傳遞信息的作用,企業(yè)網(wǎng)站建設更是為了品牌的傳遞,這個時候,清楚搜索引擎是如何查找目標內(nèi)容,是如何進行排序羅列到用戶面前對于品牌的傳播就顯得尤為重要了。今天斑驢互聯(lián)就為大家介紹一個倒排索引,搜索引擎的重要結構。

一、倒排索引簡介

       倒排索引(英文:Inverted Index),是一種索引方法,常被用于全文檢索系統(tǒng)中的一種單詞文檔映射結構。

       現(xiàn)代搜索引擎絕大多數(shù)的索引都是基于倒排索引來進行構建的,這源于在實際應用當中,用戶在使用搜索引擎查找信息時往往只輸入信息中的某個屬性關鍵字,如一些用戶不記得歌名,會輸入歌詞來查找歌名;輸入某個節(jié)目內(nèi)容片段來查找該節(jié)目等等。

      面對海量的信息數(shù)據(jù),為滿足用戶需求,順應信息時代快速獲取信息的趨勢,聰明的開發(fā)者們在進行搜索引擎開發(fā)時對這些信息數(shù)據(jù)進行逆向運算,研發(fā)了“關鍵詞——文檔”形式的一種映射結構,實現(xiàn)了通過了物品屬性信息對物品進行映射,可以幫助用戶快速定位到目標信息,極大地降低了信息獲取難度。倒排索引又叫反向索引,它是一種逆向思維運算,是現(xiàn)代信息檢索領域里面最有效的一種索引結構。

 

二、倒排索引&FAQ

       從用戶請求到結果返回,許多朋友會對倒排索引在檢索系統(tǒng)中的工作過程產(chǎn)生好奇,本小節(jié)就倒排索引的一些常規(guī)認識,有如下問題:

Q1:何為索引?倒排索引又是什么?

       索引,是為了加快信息查找過程,基于目標信息內(nèi)容預先創(chuàng)建的一種儲存結構。例如:一本書,沒有目錄,理論上也是可讀的,只是當你合上當前在讀的內(nèi)容時,下次再翻開書本去查找,就比較耗費時間了。如果增加幾頁目錄,我們可以快速地了解書本的大體內(nèi)容分布,以及每一個章節(jié)頁面位置的分布情況,這樣我們查詢內(nèi)容的效率自然就會提高。書的目錄,就是書本內(nèi)容一種簡單索引。

      倒排索引,是索引技術中的一種,它是基于信息主體的關鍵屬性值進行構建的。如下圖1:

http://banlvit.com/uploads/20180917/4342ed69c782113df86c56e012c4ad8a.png

圖1 倒排索引概念示例圖

      假設檢索系統(tǒng)中只有一個商品——衣服A,基于該商品構建其倒排索引結構之后,會產(chǎn)生上圖右表中的索引結構,這樣用戶可以通過搜“AAA”,“藍色”,“M碼”,“猴子”,均可找到該商品,加快了檢索速度,擴大了檢索范圍。

Q2:當接受到用戶查詢請求時,倒排索引中發(fā)生了什么?

       一般地,當接受到用戶查詢請求時,進入到倒排索引進行檢索時,在返回結果的過程中,主要有以下幾個步驟:

       Step1:在分詞系統(tǒng)對用戶請求等原始Query進行分析,產(chǎn)生對應的terms;

       Step2:terms在倒排索引中的詞項列表中查找對應的terms的結果列表;

       Step3:對結果列表數(shù)據(jù)進行微運算,如:計算文檔靜態(tài)分,文檔相關性等;

       Step4:基于上述運算得分對文檔進行綜合排序,最后返回結果給用戶。

      上述該過程是較為簡潔的一個檢索過程。事實上,在生產(chǎn)環(huán)境中因為業(yè)務環(huán)境的繁雜,會使得索引的設計模式變得復雜且繁多。前文主要通過概念圖來介紹倒排索引的架構體系,一個成熟的檢索系統(tǒng)往往擁有一套較為穩(wěn)定的算法體系,用于處理生產(chǎn)環(huán)境中的每一處細節(jié)技術需求。上述步驟中涉及了大量相關的數(shù)據(jù)儲存技術、查找算法、排序算法、文本處理技術甚至I/O技術等等。

 

三 倒排索引技術剖析

       構建倒排索引是搜索引擎里面至關重要的一個步驟,從技術層面去分析,對于構造一個倒排索引,主要分為兩部分:Doc2term詞項構造;倒排記錄表的構建。

       3.1 term詞項構造

        詞項構造是在構建索引過程中必不可或缺的一個步驟,詞項構造效果的好壞往往會直接影響到用戶的搜索體驗,以及搜索結果的召回。該過程主要是利用分詞系統(tǒng)將文檔中的各項屬性的文本信息拆分成一些表意較強且重要的詞匯,便于用戶查找,如下圖2:

http://banlvit.com/uploads/20180917/6d97714477b7897a3560926e356fbc88.png

圖2 詞項構造概念圖

       在詞項構造的過程中,利用分詞系統(tǒng)對文本進行處理時往往涉及到很多方面的問題,而且對于不同語種,會有不同的處理機制。下面主要介紹在處理文本時涉及到的幾個問題:

(1)文本詞條化

       一段文本信息,它本身是一個由語言組成的字符串系列,本項技術點的主要任務是將一段連續(xù)的文本序列信息拆分成多個子序列。它與語言本身相關,面對不同的語言,處理文本的方式往往會不一樣。對于中文,由于其語言多歧義且表意緊湊的特性,在實際應用中,一般需要借助NLP的相關技術對內(nèi)容進行特征抽取,甚至人工標注等,生成對應的詞典,隨后再基于詞典利用分詞器進行分詞,才能看到較好的文本詞條效果。

       而對于英文,普遍的英文句子,段落內(nèi)容,它會以空格符作為單詞之間的分隔符,所以一般情況下,以空格符對英文內(nèi)容進行拆分,已經(jīng)可以取得比較好的效果,不過英文中也會存在一些特殊模式,如帶上撇號的格式——“Teacher’s office”,連字符格式——“English-speaking”,也需要進行對應的處理,把單詞提取出來。

(2)停用詞過濾

       停用詞是指在文檔列表中出現(xiàn)的頻數(shù)較高且價值不大的詞。以英文為例,在英文文檔中出現(xiàn)次數(shù)較多的停用詞如:”is”、”the”、”I”、“and”、”me”等等;這一類詞語在往往出現(xiàn)在所有文檔中,若以此類詞語為term進行索引構建,則會產(chǎn)生多個全量文檔索引列表。停用詞過濾的使用往往依賴于實際使用場景,關鍵字查詢使用得較為頻繁的場景如某一個電商品牌的垂直型搜索引擎,一個合適的停用詞表顯得尤為重要;而對于Web搜索引擎如百度、Google等,該類型的搜索引擎面向的查詢場景較多,通用性較強,往往不需要停用詞過濾。

(3)詞條歸一化

       基于上述兩點,將文檔內(nèi)容轉換成一個或多個term后,在查詢時,最理想的情況是用戶輸入的關鍵字剛好與term完全匹配,實際上,很多時候用戶輸入的query與詞條之間往往不會完全匹配,而用戶們還是希望query能與詞條進行匹配,比如用戶在查詢“color”時,用戶肯定也希望能看到關于“colour”的返回結果。詞條歸一化的任務就是將一些看起來不完全一致的詞條劃分為一個等價類,比如英式單詞colour和美式單詞color歸為一類、Air-conditioner和airconditioner歸為一類等等;這樣,用戶在查詢時,只要對等價類中的任意單詞進行搜索,都會返回包含等價類中的任意一個單詞的文檔。

(4)詞干提取、詞形還原

       這是詞條規(guī)范化的兩種重要方式,用于擴展檢索范圍。詞干提取的主要思想是“縮減”,將詞條轉化為詞干,如:將“beaches”處理成“beach”, 將“bananas”處理成“banana”等;詞形還原的主要思想是“轉換”,如:將“doing”、“done”、“did”轉化成原型“do”,將“given”、“gave”轉化成原型“give”等;詞干提取的實現(xiàn)方法一般是基于規(guī)則對詞條后綴進行縮減,至于詞形還原,其實現(xiàn)方法需要詞典來進行詞形變化的映射;基于在此結合詞條歸一化技術,對擴展檢索范圍會產(chǎn)生一定的正向作用。

3.2 倒排記錄表的構建

      倒排記錄表的構建過程面向的是海量的文檔數(shù)據(jù)集合,在大小規(guī)模上它比詞項集合要大得多,無法完全存放在內(nèi)存當中,需要寫入磁盤。因此,在構建倒排記錄表時我們有必要為內(nèi)存的使用作考慮。

http://banlvit.com/uploads/20180917/47438488139c1bfad23e76f543e55042.png

圖3 倒排索引概念圖

       在無法全內(nèi)存的情況下,倒排記錄表的主要構建思想是“分割”,亦即基于一定的處理邏輯對全量文檔集合進行等份的批量處理。對于不同的業(yè)務需求,構建倒排記錄表的方法往往會不一樣。基本的構建方法如下:

S1: 通過一系列的處理將文檔集合轉化為“詞項ID—文檔ID”對;

S2: 對詞項ID、文檔ID進行排序,將具有相同詞項對文檔ID歸并到該詞項所對應的倒排記錄表中,效果如圖 3 所示;

S3: 將上述步驟產(chǎn)生的倒排索引寫入磁盤,生成中間文件;

S4: 將上述所有的中間文件合并成最終的倒排索引。

從業(yè)務應用場景的角度出發(fā),倒排記錄表的構建方法主要有:單遍掃描和多遍掃描;從工程角度出發(fā),倒排記錄表的構建方法主要有:分布式構建和動態(tài)構建。

3.2.1 單遍掃描構建

      顧名思義, 單遍掃描指的是僅對文檔集合進行一次遍歷,即可完成倒排索引的構建。由于內(nèi)存開銷問題,會將全量文檔集進行分割,轉換成幾個內(nèi)存大小相同的文檔集合,然后依次執(zhí)行前文中提及到的構建方法。該方法能快速構建一個簡單可行的倒排索引,幫助用戶通過關鍵字匹配快速找到目標文檔。

3.2.2 多遍掃描構建

      多遍掃描主要用于構建索引時獲取關于文檔的更多相關信息,如一些詞項TF-IDF指標、詞頻、文檔內(nèi)容關系等,以豐富倒排記錄表的內(nèi)容,為搜索引擎進行功能擴充;在工業(yè)流水線上,單遍掃描構建索引由于其查詢類型的豐富度不夠,顯然已經(jīng)不能滿足廣大用戶的需求了。搜索用戶的需求并不止于關鍵字查詢,像短語查詢、模糊查詢、精確篩選、模糊篩選、排序、聚合統(tǒng)計等等需求。這意味著我們在構建倒排列表時要盡可能獲取文檔的更多信息,便于查詢時的微運算、重排序、相關性分析等技術需求。

3.2.3 分布式構建

      對于一些大型搜索引擎如Web搜索引擎,單臺機器已無法支撐其索引構建,需要多臺機器組成集群對其進行分布式處理,將構建成的倒排索引進行分割,分布在多臺機器上,每臺機器各自形成獨立的索引結構,當用戶發(fā)出請求時,會有多臺機器響應,并且根據(jù)用戶的搜索需求在各自的索引結構進行查詢,返回相關結果,再將所有結果在內(nèi)存中進行集中處理,最后把處理過的最優(yōu)結果返回給用戶。在具體的實現(xiàn)過程中,工程師們往往更鐘情于一些通用的面向大規(guī)模機器計算的分布式架構如Hadoop中的MapReduce、Java中的Fork/join架構等,極大地提高了軟件開發(fā)效率。

3.2.4 動態(tài)構建

      該方法中的文檔集合是變化的,這要求在對文檔集進行索引構建時也要對文檔的更新進行自適應。此問題常見于電商領域里,如商品的上下架、商品內(nèi)容的更新等,都會引發(fā)索引的動態(tài)更新問題。于此,我們常采取一些策略型方法來解決該類型的問題,提高索引的實時性。常見的策略如下兩種:周期性對文檔進行全量重建索引;基于主索引的前提下,構建輔助索引,用于儲存新文檔,維護于內(nèi)存中,當輔助索引達到一定的內(nèi)存占用時,寫入磁盤與主索引進行合并。

策略 1 是最簡單直接、且有效的索引更新策略,對于數(shù)量級較大的搜索引擎來說處理簡單便捷,由于動態(tài)索引計算的復雜性,使用其它策略會使得索引難維護,甚至引發(fā)嚴重的性能問題。所以大型搜索引擎往往更傾向于周期性重建索引,不過這會涉及到索引熱切換的問題,大量的文檔經(jīng)常會產(chǎn)生持續(xù)性的文檔更新情況,這對于索引熱切換時會造成一定的困難,處理不好會導致數(shù)據(jù)丟失,用戶查不到新文檔等問題。

策略 2 中在進行主輔索引合并時會遇到比較大的儲存開銷,由于文檔量較大,這意味著在進行合并操作時會涉及到大量倒排文件的讀寫操作,要想將該過程高效化,目前能處理該問題的文件系統(tǒng)極其稀少,所以該策略在生產(chǎn)環(huán)境中往往可用性并不高。

四、總結

      在實際生產(chǎn)環(huán)境中,由于業(yè)務的繁雜,倒排索引的技術體系會比本文所闡述的技術點要復雜得多。本文今天斑驢互聯(lián)程序猿主要講解了倒排索引的作用、索引構建方法、用戶行為分析以及索引的應用場景,從整體出發(fā),向大家介紹現(xiàn)代倒排索引大致的技術體系,幫助大家了解倒排索引的概念,了解搜索引擎,更好的進行網(wǎng)站建設或者頁面設計


標簽: 南昌網(wǎng)站建設公司/南昌做網(wǎng)站的公司/南昌微信小程序/南昌APP開發(fā)/—斑驢互聯(lián)

分享本文
每個作品都是一次思維與靈魂的碰撞
斑驢互聯(lián)在南昌一直向著“做業(yè)內(nèi)一流互聯(lián)網(wǎng)設計團隊”這一愿景努力,不斷提升對網(wǎng)站高端設計,微信公眾號/小程序開發(fā)等產(chǎn)品的用戶體驗
400 0791 158
主站蜘蛛池模板: 99精成人_国产欧美在线一区二区三区_国产AV综合第一页_丁香五月开心婷婷激情综合_潜行者1—42集免费观看视频播放_91一区二区国产好的精华液 | 麻豆优品_欧美videosfreeⅹ尸交_91一区二区三区在线观看_日韩精品中文字幕无码一区_伊人免费视频2_2019日韩中文字幕 | 精品久久二区_免费女上男下xx00xx00视频_日韩精品无码中文字幕一区二区_在线成人免费观看_国内伊人久久久久久网站视频_a级毛片三个男人一女 | 国产精品真人片久久久久久久_国产免费av片在线看vr_精品日韩三级_精品999日本_性猛交ⅹxxx富婆视频_亚洲欧美在线综合色影视 | 名器高h禁伦桌上肉伦h_精品国免费一区二区三区_欧美性猛交xxxx乱大交极品_精品在线视频免费观看_他扒开我小泬添我视频_国产色XX群视频射精 | 日本一级片_99热这里是精品_成人午夜精品亚洲日韩_在线男人天堂_日本不良网站在线观看_亚洲第1页 | 人人干人人爱人人爱_国产二区三区视频_欧美精品一区二区黄A片_日韩国产在线_色偷偷色噜噜狠狠成人免费视频_51福利国产在线观看午夜天堂 | 四虎视频在线精品免费网址_青草青草久热国产精品_免费在线亚洲_www一片黄_最色www_国产女上位疯狂榨精合集 | 国产免费久久久_午夜精品久久久久久中宇_母乳1区在线_少妇被躁爽到高潮无码麻豆AV_国产亚洲精品成人AA片在线播_日本三级在线播放线观看免 | ww.久久_亚洲最大的免费观影网站_国产女大学生av_极品熟女一区二区三区_久久久久成人精品无码_97se狠狠狠狼鲁亚洲综合网 | 最近中文字幕高清mv在线视频_亚洲阿v天堂无码z2018_伊人天天久大香线蕉AV色_国产乡下妇女做爰视频_亚洲一级片网站_国产精一品亚洲二区在线播放 | 国产91在线播放精品91_一级视频黄色_日日噜噜夜夜狠狠VA视频_日韩综合网站_五月sese_免费看的av | 亚洲国产精品第一区二区_人妖一区_a级黄色在线观看_视频在线_一级黄色香蕉视频_欧美亚洲一区二区在线观看 | 娇妻被生人粗大猛烈进出高潮_精品成品国色天香卡一卡二卡三_少妇张开腿迎合高潮_免费在线播放毛片_丰满少妇大力进入av亚洲_亚洲精品aaaa | 成人天堂视频第一网站_日日AV拍夜夜添久久免费_99视频在线看_日韩精品一区二区三区外面_无码国产一区二区三区四区公司_亚洲天堂av无码不卡二区 | 成年人免费在线观看_精品午夜一区二区三区在线观看_成年人免费片_久久久久黄色片_精品国产第一国产综合精品_日本肉体做爰猛烈高潮全免费 | 性欧美视频videos6一9_日本最新高清不卡中文字幕_精品精品一_国产人妻无码一区二区三区_狠狠躁夜夜躁人人爽天天不卡软件_欧洲AV无码放荡人妇网站 | japanese中国丰满少妇_素人视频aaa_91干b_91日韩欧美_第一版主01bz_亚洲青涩 aaa黄色片_中文字幕日韩亚洲_黄色操比片_欧美国产中文动漫日韩欧美在线_中文字幕综合一区_福利在线免费视频 | 亚州AAA片欧洲免费观看高_999在线视频精品免费播放观看_中文字幕欧美日韩_无码精品国应Aⅴ左线_男女啪啪猛烈免费网站_娇小TEEN乱子伦精品 | 亚洲性夜色噜噜噜在线观看不卡_四虎国产精品永远_国产chinasex对白videos麻豆_丰满人妻熟妇乱又伦精品视_九九视频69精品视频秋欲浓_av无码中文字幕无码王 | 国产无在线观看_红杏导航_日本一区二区三区dvd视频在线_欧美videossex精品_性欧美激情日韩精品七区_性感毛片 | 国色天香一卡2卡三卡4卡乱码_日韩特黄特刺激午夜毛片_亚洲第一综合天堂另类专_午夜无码喷水A片WWW_moms成熟丰满复古hd_亚洲AV怡红院影院怡春院 | 久久久久久国产精品三级_伊人网在线免费视频_国产成人69视频午夜福利在线观看_美女很黄很黄免费_精品一区二区视频在线观看_中文人妻熟妇乱又伦精品 | 免费无码又爽又黄又刺激网站_国产另类综合欧美在线_看nba免费软件_国产一区二区三区精品欧美日韩一区二区三区_国产丰满老熟妇乱xxx1区_91av在 | 少妇人妻无码专区视频_99国产欧美另类久久片_四虎影视欧美_亚洲人成网站777色婷婷_欧洲精品VA无码一区二区三区_国产精品中文字幕av | 呦系列视频一区二区三区_俄罗斯大屁股xxxxx_精品视频三区_欧美日韩在线免费看_99视频只有精品_熟妇人妻无码xxx视频 | 欧美69xxxxx_欧美人与动牲交ZOOZ男人_国产精品久久久久潘金莲_亚洲天堂男_精品成人在线视频_蜜桃传媒一区二区亚洲av | 日韩在线播放av_亚洲第一看片_日产久久久_福利姬在线观看_大片免费观看视频播放器_91精品www | 亚洲精品久久久久AV无码_午夜激情av在线_成人性午夜免费视频网站_亚洲AⅤ无码一区二区波多野_无码午夜福利免费区久久_中文字幕精品亚洲无线码一区 | 三级毛片久久_午夜精品久久久久久久蜜桃_玖玖玖国产精品视频_超碰个人在线_一级毛片真人视频_巨胸喷奶水www久久久 | 91性高湖久久久久久久久网站_催眠极品YIN荡人妻合集H_国产精品久久久久久妇女6080_亚洲欧美在线观看_少妇老师寂寞高潮免费A片_一区二区三区视频国产日韩 | 欧美日韩亚洲第一_无码大潮喷水在线观看H_亚洲自偷自偷图片视频专区_久久精品视频久久_欧洲视频二区_成人久久18 | 国产艹逼_久久最新精品视频_久久久久久久久久久久一区二区_亚洲爆乳精品无码AAA片_日韩不卡免费视频_在线日本中文字幕 | 亚欧欧美人成视频在线_裸体歌舞一区二区三区在线观看_亚洲18私人小影院_91国内揄拍国内精品_成人羞羞网站入口_美女被强奷到抽搐的高潮视频喷奶水 | 久久久久亚洲AV无码尤物_久久国产精品影院_亚洲激情_日a在线_黄色影院在线_国产在线观看精品一区二区三区 | 99视频在线免费播放_午夜a级理论片在线播放717_色网站视频在线观看_超碰在线免费观看97_亚洲男人天堂网_狠狠网站 | 天天爱夜夜操_成年人在线免费播放_日本你懂的_两个女人互添下身视频在线观看_日日摸天天摸人人看_日韩精品免费在线 | 中文字日产幕码三区的做法大全_日日噜噜噜噜人人爽亚洲精品_国产互换人妻好紧hd无码_欧美1级a_国产性xx_国产亚洲小视频 | 成人3p_91精品国产综合久久久久久久_成人免费看WWW网址入口_天堂网资源中文最新版_丰满妇女强制高潮18XXXX_国产精品99久久久久宅男软件功能 | 午夜社区_国产中文字幕精品_午夜小视频在线免费观看_免费在线视频a_日产精品久久久一区二区福利_www.免费视频网站 | 日本三级排行榜_乱子伦xxxx无码_日本无人区码卡二卡三卡_天堂中文在线WWW天堂在线_韩国一区在线_天堂资源官网在线资源 |