第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

大白話告訴你倒排索引是個(gè)啥

標(biāo)簽:
大數(shù)據(jù)

引子

很多搜索引擎都是基于倒排索引比如luncenesolr以及elasticsearch

正排索引

聊倒排搜索之前先来看看正排索引正排其实就是数据库表他通过id和数据进行关联如下

数据id 数据内容
1001 苹果公司发布iPhone
1002 地球引力起源于苹果
1003 iPhone屏幕碎了
1004 我在苹果商店维修屏幕
1005 我刚刚吃了苹果

我们可以通过搜索id来获得相应的数据也能删除数据。你买了一本书书的目录其实也是正排搜索。

假设现在我要搜苹果俩字那么他会对这张表格中每一行的数据做匹配去查找一下是否包含苹果这两个字从第一条匹配到最后一条如果一张表中数据量不多几万十几万那么问题不大但是一旦数据量有上百万上千万那么全表扫描这种的搜索性能就会有影响。

其次这个时候我想搜索苹果iPhone那么我们无法把这词汇拆开再到数据库去搜索。

  • 优点使用起来方便原理也简单比较入门
  • 缺点检索效率低下适合简单场景使用比如传统项目数据量较小的项目。不支持分词搜索。

倒排索引

与正排是反着来的他会把文档内容进行分词比如苹果公司发布iPhone是一个文档数据当我们把他存入到搜索引擎中去的时候会有一个文档id这个文档id就类似于数据库主键。但是这文档存储的时候和数据库不一样他会进行一个分词参照上面的表格分词后的结果如下

文档数据 分词结果
苹果公司发布iPhone 苹果公司发布iPhone
地球引力起源于苹果 地球引力起源于苹果
iPhone屏幕碎了 iPhone屏幕碎了
我在苹果商店维修屏幕 我在苹果商店维修屏幕
我刚刚吃了苹果 我刚刚吃了苹果

每一个词汇都会和文档id关联起来可以根据词汇来找到所有出现的id列表如下

词汇 文档ids
苹果 1001100210041005
iPhone 10011003
公司 1001
发布 1001
地球 1001
引力 1001
起源 1001
1001
屏幕 10031004
碎了 1003
10041005
1004
商店 1004
维修 1004
刚刚 1005
吃了 1005

假设现在我要搜索iPhone如果是数据库搜索假设有1亿条数据那么会匹配1亿次全表扫描。最后再把数据返回出来。
如果是搜索引擎那么有可能第一次就把所有文档数据给查出来当然也有可能是第N次当然他肯定要比数据库的搜索效率更高。如图中位置他会直接把10011003两个文档返回。

可能会有同学会问数据库和搜索引擎都是1000万数据搜索的词汇在搜索引擎中正好是第1000万条那么会不会慢其实这个肯定会比数据库更快数据库要匹配是一个文本中的内容和关键词匹配而搜索引擎是直接把关键字做匹配效率肯定后者更快。

  • 有点搜索更快耗时短用户体验高精装度也高
  • 缺点维护成本高索引新建后要修改必须先删除前期需要很好地规划
點(diǎn)擊查看更多內(nèi)容
“小禮物走一走,來慕課關(guān)注我”
贊賞支持
風(fēng)間影月說 去圍觀
創(chuàng)業(yè)公司技術(shù)總監(jiān), 10年+開發(fā)和技術(shù)管理經(jīng)驗(yàn)。SUN認(rèn)證SCJP、PMP、MCP認(rèn)證。主要從事后端技術(shù)和架構(gòu)領(lǐng)域,有豐富的電商平臺(tái)與物流平臺(tái)核心系統(tǒng)的架構(gòu)設(shè)計(jì)和開發(fā)經(jīng)驗(yàn)。
評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消