问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

主流搜索引擎算法【分布式索引】

发布网友 发布时间:2023-04-07 08:17

我来回答

1个回答

热心网友 时间:2023-05-02 09:48

当搜索引擎需要处理的 文档集合太多 的时候,就需要考虑分布式解决方案。每台机器维护整个索引的一部分,有多台机器协作来完成索引的建立和对查询的响应。

将整个文档集合切割成若干个子集合,而每台机器负责对某个文档子集合建立索引,并响应查询请求。

每个索引服务器负责 词典中部分单词 的倒排列表的建立和维护。

工作原理:一次一个单词。假设查询包含A、B、C三个单词,查询服务器接收到查询后,将查询转发到包含单词A倒排列表的索引服务器节点1,索引服务器节点1提取A的倒排列表,并累计计算搜索结果的中间的分,然后将查询和中间结果传递给包含单词B倒排列表的索引服务器节点,索引服务器节点2也是类似处理,并继续到索引服务器节点3。然后将最终结果返回给查询分发服务器,查询分发服务器计算得分最高的K个文档作为搜索结果输出。

两种方案比较

- 按文档比较常用,按单词划分只在特殊应用场合才使用。

- 按单词划分的不足:

可扩展性

搜索引擎处理的文档是经常变动的。如果按文档来对索引划分,只需要增加索引服务器,操作起来很方便。但如果是按单词进行索引划分,则对几乎所有的索引服务器都有直接影响,因为新增文档可能包含所有词典单词,即需要对每个单词的倒排列表进行更新,实现起来相对复杂。

负载均衡

常用单词的倒排列表非常庞大,可能会达到几十M大小。如果按文档划分,这种单词的倒排列表会比较均匀地分布在不同的索引服务器上,而按单词进行索引划分,某个常见单词的倒排列表全部内容都由一台索引服务器维护。如果该单词同时是一个流行词汇,那么该服务器会成为负载过大的性能瓶颈。

容错性

假设某台服务器出现故障。如果按文档进行划分,那么只影响部分文档子集合,其他索引服务器仍然能响应。但如果按单词进行划分,若索引服务器发生故障,则某些单词的倒排列表无法访问,用户查询这些单词的时候,会发现没有搜索结果,直接影响用户体验。

对查询处理方式的支持

按单词进行索引一次只能查询一个单词,而按文档划分的不受此*。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Request对象语法 9,django中request对象 塞尔达传说时之笛火之神殿Boss房间怎么去 ...的圆形地方怎么上去?打完BOSS后才发现没去过,但我 榆中兴隆山旅游路线 ...兴隆山校区到哪个公交车站最近?应该怎么乘公交车?打车的话得多少钱... 从般若寺到兴隆山法院怎么坐公交车,最快需要多久 那些属于国有经济,哪些属于集体经济 ...丢手机,生病,丢工作,怎么转运啊,谁能告诉我,我快疯了 阴历十月又叫什么月 乌合之卒的解释 四字成语卒什麼大什么 stm32单片机有没有ale引脚 unity打包后第一人称自由度变低 教资有用吗 生源地助学贷款可以申请就业补贴吗 梦见自己又嫁一次人的预兆 近期大豆还会掉价吗 那我脚步慢一点也无妨是什么歌 你笑着也无妨什么歌 我不会说话,让你笑笑也无妨是什么歌 抖音里我也无妨是什么歌 受伤也无妨什么歌 张卫国的夏天插曲谁唱的 猪肚怎么做好吃又简单窍门 电动晾衣架有必要买声控的吗 科智佳电动晾衣架怎么样 声控晾衣架的声控容易坏吗? 蝉蛹不能和什么一起吃? 蚕蛹和鸡蛋哪个更有营养? 傲晴取名女孩名字寓意跟凌睿女孩取名的寓意哪个好 冷柜深冷是多少度 梦见被丈夫赶出家门 牵引机皮带有多少种啊? 汉字主题手抄报怎么画 手机开机突然卡屏!这个咋才能弄好 我的小米3!老是卡屏!是怎么回事!怎样才能弄好! 三星W899开机卡屏了,不动了。求解 win10ghost机械硬盘还原到固态硬盘,分区都是mbr的。无法启动,请教... 在读研究生学历是全日制还是非全日制的 梦见给神烧香点不着 手机壳四角气囊全包是什么意思 生死狙击2记忆样本怎么用 基于构件的软件开发的核心是什么 枯形灰心的解释 三点水加个西字读什么 三点水加个西是什么字?怎么念? 求拼音···有效时间1分钟. 三点水加西念什么 送爷爷奶奶什么礼物最好 为什么我的笔记本电脑第一次启动地下城与勇士就卡在那儿黑屏,但第二次...